我有一本像这样的字典:

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()] 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!