如何使用 str.format() 规范中的变量来确定宽度和精度?
(我在 Python 3 中。)
这工作正常:
print(' {:<127.127} {:<}'.format(value[1], value[0]))
Run Code Online (Sandbox Code Playgroud)
但这给出了一个错误:
SHOWLEN = 127
print(' {:<SHOWLEN.SHOWLEN} {:<}'.format(value[1], value[0]))
Run Code Online (Sandbox Code Playgroud)
具体来说,我得到:
Traceback (most recent call last):
File "C:\Users\Dave\Desktop\index\treeIndex.py", line 101, in <module>
treeIndex(sys.argv[1])
File "C:\Users\Dave\Desktop\index\treeIndex.py", line 96, in treeIndex
print(' {:<SHOWLEN.SHOWLEN} {:<}'.format(value[1], value[0]))
ValueError: Invalid format specifier
Run Code Online (Sandbox Code Playgroud)
如何为精度和宽度使用变量?
我使用Rails的4.1.4 YAML语言环境文件来存储一些翻译,例如:
en:
words:
en:
passport: "passport"
ticket: "ticket"
train: "train"
de:
words:
en:
passport: "passport"
ticket: "ticket"
train: "train"
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以用t("words.#{to_language}.train")返回train的德国用户(I18n.locale ==:DE)谁选择了英语作为to_language.
我的问题是:有什么方法我不能重复自己,并有类似下面的代码?
en OR de:
words:
en:
passport: "passport"
ticket: "ticket"
train: "train"
Run Code Online (Sandbox Code Playgroud)
也许我可以将所有单词内容分配给变量然后只做:
en:
all_words
de:
all_words
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试将电子邮件模板放在一起。消息内容将取决于字典中的值。但是,字典可能不会每次都包含所有键。
目前这很好,因为所有值都在字典 ( 'Title', 'Surname', 'Additional Details') 中:
practise_dict = {"Additional Details":"blah blah blah blah", "Title": "Mr", "Surname": "Smith", "URL": "/test/tester"}
msg = """From: John Smith <no-reply@somethingsomething.co.uk>
To: {Title} {Surname} <blah@blahblah.co.uk>
MIME-Version: 1.0
Content-type: text/html
Subject: New Website Enquiry
This is an e-mail message to be sent in HTML format
{Additional Details}
<b>This is HTML message.</b>
<h1>This is headline.</h1>
`""".format(**practise_dict)
print(msg)
Run Code Online (Sandbox Code Playgroud)
在msg变量中,我试图创建我的“模板”。这意味着我需要拥有字典中所有可能的项目。
例如,下一段将失败,因为它正在寻找'Date'这本词典中不存在的内容:
practise_dict = {"Additional Details":"blah blah blah blah", "Title": "Mr", "Surname": …Run Code Online (Sandbox Code Playgroud) 我有两个文档,一个是树结构,另一个是第一个doc.我试图通过fk和pk加入这两个doc.我无法得到实际结果,它显示所有空值.
第一份文件
{
"name": "one",
"root": {
"level1" : {
"level2" : {
"level3" : {
"itemone": "Randomkey1",
"itemtwo": "Randomkey2
}
}
}
},
"type": "firstdoc"
}
Run Code Online (Sandbox Code Playgroud)
第二个文件
{
"name" : "two",
"mapBy" : "Randomkey1",
"type" : "senconddoc
}
Run Code Online (Sandbox Code Playgroud)
我写了一个map函数,它列出了给定1级或2级或3级的所有键.现在我想要使用密钥加入第一个doc和第二个doc.我尝试了两种方式(第一种:我得到所有(Root,Randomkey),(docName,Randomkey1)但它没有做任何连接.我正在寻找像(Root,docName)这样的结果
有人可以协助解决这个问题
地图
function(doc) {
if (doc.type === 'firstdoc' || doc.type === 'seconddoc' ) {
var rootObj = doc.Root;
for (var level1 in rootObj) {
var level2Obj = doc.Root[level1];
for (var level2 in level2Obj) {
var keys = new Array();
var …Run Code Online (Sandbox Code Playgroud) 在python我能做到
_str = "My name is {}"
...
_str = _str.format("Name")
Run Code Online (Sandbox Code Playgroud)
在红宝石中,当我尝试
_str = "My name is #{name}"
Run Code Online (Sandbox Code Playgroud)
解释器抱怨变量名是未定义的,所以它是期望的
_str = "My name is #{name}" => {name =: "Name"}
Run Code Online (Sandbox Code Playgroud)
如何在ruby中使用字符串占位符供以后使用?
我需要创建一个具有以下格式的 yaml 文件:
imager: &imager
type: "detector"
half_angle: 75 degrees
max_distance: 23000 meters
ownship: &ownship
origin: [11,11,5]
type: "uav"
vehicles:
- <<: *ownship
name: "uav1"
origin: [35.69257148103399 degrees, -117.689417544709 degrees, 5500]
sensors:
- <<: *imager
name: "imager1"
Run Code Online (Sandbox Code Playgroud)
我将所有特定数据存储在 Python 类中,因此我想使用 PyYAML 来使事情变得简单。然而,当我去阅读文档时,我没有看到如何使用 PyYAML 处理别名。这个功能是否存在,或者我应该继续制作我自己的 yaml writer?
我有一个索引数组,包含一些关联数组,我应用一个简单的
$my_arr = array_filter($my_arr, function($obj) {
return $obj["value"] < 100;
});
Run Code Online (Sandbox Code Playgroud)
用于过滤数组中的一些项目的函数.
这开始以奇怪的方式使我的Angular前端错误,所以几分钟后我发现$my_arr正在从索引数组转换为关联数组.
array_filter吗?array_filter我想要一个索引数组?编辑:根据评论的要求,我的$my_arr:
$my_arr = [
["foo" => "bar", "value" => 10],
["foo" => "var", "value" => 30],
["foo" => "car", "value" => 440],
["foo" => "dar", "value" => 700]
]
Run Code Online (Sandbox Code Playgroud)
编辑:我的代码中的真实世界提取:
$media = [
"photos" => [
["foo" => "bar", "value" => 10],
["foo" => "var", "value" => 20],
["foo" => "car", "value" => 50],
]
];
echo …Run Code Online (Sandbox Code Playgroud) 我正在 python 中执行正则表达式搜索,如下所示:
import re
regexSearch = re.search(r'FTP-exception-sources-\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', line, re.M|re.I )
if regexSearch:
outputFile2.write(str(lineCounter) + " , " + regexSearch.group(0) + "\n")
Run Code Online (Sandbox Code Playgroud)
如何确定groups从正则表达式搜索返回的数量?
我可以使用 JSON 数组作为INMySQL(版本 5.7 及更高版本,因为支持 JSON)的子句参数吗?
下面是我无法完全工作的代码......
DROP TABLE IF EXISTS json_table;
CREATE TEMPORARY TABLE json_table(
id INT,
data JSON
);
INSERT INTO json_table (id, data) VALUES (1, "[1,2,3,4,19,20]");
SELECT jt.id, jt.data, REPLACE(REPLACE(jt.data, '[', ''), ']', ''), jt.data->"$[4]"
FROM json_table jt;
SELECT stuff.name
FROM table_stuff stuff
#JOIN json_table jt ON stuff.id IN (1,2,3,4,19,20);
JOIN json_table jt ON stuff.id IN (REPLACE(REPLACE(jt.data, '[', ''), ']', ''));
DROP TABLE IF EXISTS json_table;
Run Code Online (Sandbox Code Playgroud) 我遇到许多任务,需要过滤 python (2.7) 列表以仅保留有序的唯一值。我通常的方法是使用odereddictfrom 集合:
from collections import OrderedDict
ls = [1,2,3,4,1,23,4,12,3,41]
ls = OrderedDict(zip(ls,['']*len(ls))).keys()
print ls
Run Code Online (Sandbox Code Playgroud)
输出是:
[1,2,3,4,23,12,41]
有没有其他最先进的方法可以在Python中做到这一点?
list编辑- 方法的比较可以在这里找到: https: //www.peterbe.com/plog/uniqifiers-benchmark
同时最好的解决方案是:
def get_unique(seq):
seen = set()
seen_add = seen.add
return [x for x in seq if not (x in seen or seen_add(x))]
Run Code Online (Sandbox Code Playgroud) python ×5
python-3.x ×2
string ×2
yaml ×2
alias ×1
arrays ×1
couchdb ×1
dry ×1
escaping ×1
javascript ×1
join ×1
json ×1
list ×1
mapreduce ×1
match ×1
mysql ×1
mysql-5.7 ×1
mysql-json ×1
php ×1
projection ×1
python-2.7 ×1
pyyaml ×1
regex ×1
ruby ×1
set ×1