小编dre*_*mac的帖子

如何在 str.format() 中使用宽度和精度变量?

如何使用 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)

如何为精度和宽度使用变量?

python string-formatting python-3.x

4
推荐指数
1
解决办法
767
查看次数

是否有可能干涸yaml?

我使用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)

谢谢

yaml dry cross-reference ruby-on-rails-4

4
推荐指数
2
解决办法
1341
查看次数

如果键在 foo 中不存在,则忽略 str.format(**foo)

我正在尝试将电子邮件模板放在一起。消息内容将取决于字典中的值。但是,字典可能不会每次都包含所有键。

目前这很好,因为所有值都在字典 ( '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)

python string escaping string-interpolation python-3.x

4
推荐指数
1
解决办法
774
查看次数

Couchdb使用密钥连接两个文档

我有两个文档,一个是树结构,另一个是第一个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)

javascript couchdb join mapreduce relational-algebra

4
推荐指数
1
解决办法
7185
查看次数

Ruby字符串插值相当于python的.format()

在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中使用字符串占位符供以后使用?

ruby string language-comparisons string-interpolation

4
推荐指数
1
解决办法
1345
查看次数

通过 PyYAML 创建带有别名的 yaml 文件

我需要创建一个具有以下格式的 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?

python alias yaml cross-reference pyyaml

4
推荐指数
1
解决办法
6780
查看次数

array_filter将索引数组转换为关联数组

我有一个索引数组,包含一些关联数组,我应用一个简单的

$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)

php arrays projection higher-order-functions

4
推荐指数
1
解决办法
1033
查看次数

确定从 Python 中的正则表达式搜索返回的组数

我正在 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从正则表达式搜索返回的数量?

python regex match

4
推荐指数
1
解决办法
2610
查看次数

MySQL JSON 数组在“IN”子句中使用?

我可以使用 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)

mysql json mysql-5.7 mysql-json

4
推荐指数
1
解决办法
4183
查看次数

将 Python 列表转换为有序的唯一值

我遇到许多任务,需要过滤 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 list set ordereddictionary python-2.7

4
推荐指数
1
解决办法
4795
查看次数