【问题标题】:When appending dictionary to a list, dict. not on a new line each time将字典附加到列表时,dict.每次都不换行
【发布时间】:2015-09-04 21:55:10
【问题描述】:

我有这个函数可以将另一个函数创建的字典推送到一个列表中。我的代码遇到的问题是多个推送不会显示在列表中,每个推送都在一个新行中。我尝试了很多方法,但都没有达到我想要的结果。

这是推送创建的字典的行:

Database.xoomDatabase.append(ordenOrganiz)

这个函数创建字典:

def orderZoom(self):
        nombre = contents1
        nicenum = orderResult
        email = contents2
        num = contents3
        fechaentrega = contents5

        global ordenOrganiz
        ordenOrganiz = {"Num Orden": nicenum,
                        "Nombre": nombre, 
                        "Email": email,
                        "Num Tel/Cel": num,
                        "Fecha de Entrega": fechaentrega}
        return ordenOrganiz

对完成这项工作有什么想法吗?

【问题讨论】:

  • “不在新行”是什么意思?您的预期输出是什么?
  • 为什么“多个推送 [...] 会在列表中出现,每个都在一个新行中”?换行符与列表有什么关系?
  • 新行我的意思是当我将字典附加到列表并打印它们时,每个字典将显示在不同的行中,而不是在同一行中的下一个之后。我是 python 新手,所以我不确定我是否正确地表达了我想要做的事情。

标签: python dictionary append


【解决方案1】:

听起来您的问题不是插入,而是您要应用的“漂亮打印”,请查看以下使用 json.dumps 的示例:

import json

ordenOrganiz = {"Num Orden": 1,
                "Nombre": 2, 
                "Email": 3,
                "Num Tel/Cel": 4,
                "Fecha de Entrega": 5}
lst = []
lst.append(ordenOrganiz)                
lst.append(ordenOrganiz)                

print json.dumps(lst, indent=4, separators=(',', ': '))

输出

[
    {
        "Fecha de Entrega": 5,
        "Nombre": 2,
        "Num Tel/Cel": 4,
        "Num Orden": 1,
        "Email": 3
    },
    {
        "Fecha de Entrega": 5,
        "Nombre": 2,
        "Num Tel/Cel": 4,
        "Num Orden": 1,
        "Email": 3
    }
]

【讨论】:

  • 有没有办法使用它来格式化行,如:{"Fecha de Entrega": 5, "Nombre": 2, "Num Tel/Cel": 4,"Num Orden ":1,"Email": 3 },在一排等..?
  • @JasonBK 不确定我是否正确理解了您的意图,如果您希望所有人都在同一行中,您可以这样做:print(json.JSONEncoder().encode(lst))
  • 打印到一行,我需要 {} 中的每个对象都是单独的行(基本上以逗号换行)@alfasin
  • @JasonBK 然后你必须迭代对象并分别打印每个对象。
  • @JasonBK 尝试:for x in lst: print json.dumps(x)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-15
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 2021-09-17
相关资源
最近更新 更多