【发布时间】:2017-03-27 07:04:40
【问题描述】:
我使用的是 python 3.5, 我需要乘以这个字典,这应该输出字典每个键的乘法结果。
{0: [0.0008726003490401396, 0.004363001745200698, 0.0008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.0008726003490401396, 0.0017452006980802793, 0.0017452006980802793, 0.0008726003490401396, 0.0008726003490401396], 1: [0.007853403141361256, 0.008726003490401396, 0.0008726003490401396], 2: [0.004363001745200698, 0.0008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.0008726003490401396, 0.0008726003490401396, 0.007853403141361256, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.002617801047120419, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.002617801047120419, 0.0008726003490401396, 0.0008726003490401396, 0.0017452006980802793, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.002617801047120419, 0.0034904013961605585, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.002617801047120419, 0.0008726003490401396, 0.0034904013961605585, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396, 0.0008726003490401396]}
这是我的尝试,但不起作用:
lista = {k: [v*v for v in v] for k, v in lista.items()}
我会输出例如:
{0: [0.068726003490401396], 1: [0.077853403141361256, 2: [0.098363001745200698]}
【问题讨论】:
-
查看python的'reduce'函数,而不是内部列表理解
标签: python python-3.x dictionary list-comprehension dict-comprehension