python 词典的列表理解格式

wn9m85ua  于 2022-12-21  发布在  Python
关注(0)|答案(1)|浏览(145)

我有一本字典,它为我的客户划分了三个类别,每个类别下有多个客户:

ddd = {'category 1:': 
         {'A': 50.5,
          'B': 28.9,
          'C': 46.3,
          'D': 513.8},
       'category 2:': {'E': 20.5, 'C': 48.1},
       'category 3:': {'D': 28.2, 'F': 68.3}}

每个子字典中的数字代表他们支付的美元金额。因此,我想将所有数字转换为字符串美元金额格式,带有两个小数位,如“A”:50.5 -〉“A”:“50.50美元”。理想的产出是:
第一个月
下面是我的解决方案:

for a,b in ddd.items():
    for i,j in b.items():
        b[i] = "$" + "{0:,.2f}".format(j)

这是可行的,但是我想知道是否可以将上面的嵌套for循环编写成类似于单行列表解析格式的格式。

{a:b for i,("$" + "{0:,.2f}".format(j)) in b.items() for a,b in ddd.items()}

但这似乎行不通先谢谢你!
以简化格式编写代码。

zengzsys

zengzsys1#

像这样?

ddd = {k: {ik: "$" + "{0:,.2f}".format(v) for ik, v in v.items()} for k, v in ddd.items()}

相关问题