我的字典是
{'apple': '2', 'banana': '3', 'pear': '1', 'peach': '1'}
我的清单是
['banana', 'apple', 'pear', 'apple banana']
如何使用字典值替换列表值的新列表? 这就是新列表应该是什么。
['3', '2', '1', '5']
我如何添加所有值以获得一个新列表,其中添加了数字,如此
['11']
我试过了:
result = map(dictionary.get, l)
print(list(result))
但这给出了错误的答案:['3', '2', '1', None]
答案 0 :(得分:0)
让我们定义你的变量:
>>> d = {'apple': '2', 'banana': '3', 'pear': '1', 'peach': '1'}
>>> x = ['banana', 'apple', 'pear', 'apple banana']
现在,让我们计算结果:
>>> [sum(int(d[k]) for k in y.split()) for y in x]
[3, 2, 1, 5]
>>> sum(sum(int(d[k]) for k in y.split()) for y in x)
11
或者,如果上面的第一个列表确实需要为其元素添加字符串,并且上面的总和也需要是字符串并在列表中:
>>> [str(sum(int(d[k]) for k in y.split())) for y in x]
['3', '2', '1', '5']
>>> [str(sum(sum(int(d[k]) for k in y.split()) for y in x))]
['11']