1

a = {u'1': ['abc', 'thanks', 2.0, 999.0],u'2': ['def', 'for', 2.0, 100.0],u'3': ['ghi', 'helping', 1.0, 99999.0],u'4': ['jkl', 'me', 3.0, 2120.0] etc:[etc]}

所以我试图让所有的字典都相乘 { key : List [ blah, blah, numbers , numbers ], key : List [ blah, blah, numbers , numbers ], etc} 这证明很麻烦:(。我想要的输出108557是从 (2*999)+(2*100)+(1*99999)+(3*2120) 派生的。

我在这里找到了一个答案Multiply keys*values in a dict? 这几乎解决了我的问题。因为他能够乘以这本字典来a = {2: 4, 3: 2, 5: 1, 7: 1}得到答案。我无法将列表合并到此代码中!提前感谢您的帮助。26sum([key * val for key, val in a.items()])

4

1 回答 1

3

如果数字始终是最后两个元素,您可以这样做:

sum([val[-2] * val[-1] for val in a.values()])

使用 Blckknght 的提示更新编辑

于 2012-12-01T06:02:04.880 回答