我是新来的python一直在寻找我是否能得到类似的方法来做到这一点,但它们太长了只需要一个简单的方法来做到这一点。
我试图找到如何用多个值字典中的0值替换具有相同键的另一个字典的值。我想避免使用索引,因为值可能会发生变化,还会对输出进行进一步的计算。
mydict = {'A': [20, 0, 15], 'B': [0, 5, 0], 'C': [15, 10, 10]}
mydict2 = {'A': 5, 'B': 3, 'C': 1}
output = {'A': [20, 5, 15], 'B': [3, 5, 3], 'C': [15, 10, 10]}
谢谢!
UPDATE :mydict2实际上是一个嵌套列表(lst),我尝试使用
d2 = dict((x ['key'],x ['val'])for m in mydict) lst = [d2 [x] for x in lst] 打印d2
错误:字符串索引必须是整数,而不是str。
答案 0 :(得分:1)
您可以使用嵌套列表和字典理解以及0
值的小测试:
{key: [x if x!=0 else mydict2[key] for x in vals] for key, vals in mydict.iteritems()}