我有一本像这样的字典:
Dd = {'a':99, 'aa': 109, 'abc':199, 'aabb':100.99, 'abcabc':99.109}
我想为每个键、值对制作一个列表,然后将每个列表附加到一个主列表。我的意思是这样的:
Ll = [['a', 99], ['aa', 109], ['abc', 199], ['aabb', 100.99], ['abcabc', 99.109]]
我写了这段代码:
L = Ll = []
for (Chr, Num) in Dd.items ():
L.append (Chr)
L.append (Num)
Ll.append (L)
L = [] #Flushing this variable to be refilled in next loop
但是 Ll
的输出不是我所期望的:
print (Ll)
['aabb', 100.99, [...], ['abcabc', 99.109], ['a', 99], ['abc', 199], ['aa', 109]]
为什么会变成这样?!我怎样才能生成我想要的列表?
请您参考如下方法:
假设你有字典 Dd。您想准备一个包含键值对的列表列表,我们可以使用推导式。
这是单行解决方案:
[ [x,y] for x in Dd.keys() for y in Dd.values() if Dd[x] == y ]
或者更好:
[[x, y] for x, y in Dd.items()]