现在我得到了一个字典:
d = {'key1':
{'key11':1,
'key12':2},
'key2':
{'key21':3,
'key22':4}
}
如何将其提取到元组列表:
l = [('key1','key11',1),
('key1','key12',2),
('key2','key21',3),
('key2','key22',4)]
使用映射或 lambda 函数
我的Python版本是Python2.7
最佳答案
您可以使用列表理解来获取您想要的输出
print [(k, k1, d[k][k1]) for k in d for k1 in d[k]]
输出
[('key2', 'key22', 4),
('key2', 'key21', 3),
('key1', 'key12', 2),
('key1', 'key11', 1)]
如果您希望对输出进行排序,如您的问题所示,
print sorted([(k, k1, d[k][k1]) for k in d for k1 in d[k]])
输出
[('key1', 'key11', 1),
('key1', 'key12', 2),
('key2', 'key21', 3),
('key2', 'key22', 4)]
关于python - 如何通过map或lambda函数提取带有键的dict的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214508/