【发布时间】:2017-06-21 10:01:12
【问题描述】:
我有一个数字列表(比如 A)。例如:
A = [ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]
列表 A 的许多元素都有与之关联的列表,我将结果以字典的形式存储。这个字典的键总是属于列表 A 的元素。例如,
D = {0.5: [1, 2], 0.7: [1, 1], 0.3: [7, 4, 4], 0.6: [5]}
在本例中,元素 0.5、0.7、0.3 和 0.6 附有列表,这些元素作为字典 D 中的键。
对于 A 中没有附加列表的元素(即 0.1、0.2、0.3),我想将它们附加到字典 D(并为它们分配空列表)并创建一个新字典 D_new。例如,
D_new = {0.1: [], 0.2: [], 0.4: [], 0.5: [1, 2], 0.7: [1, 1],
0.3: [7, 4, 4], 0.6: [5]}
【问题讨论】:
-
使用浮点值作为字典键通常是个坏主意。大多数浮点运算本质上是不精确的,所以你会得到像
KeyError和D_new[0.1+0.2]这样的惊喜,因为0.1+0.2不完全是0.3。
标签: python list dictionary