[英]how to get all possible key-value pairs from python dictionary?
d = {"a":[1,2,3], "b":4}
我正在尝试从d
创建一个嵌套列表,其中包含所有键值对:
[["a",1],["a",2],["a",3],["b",4]]
我应该在这里使用列表推导,还是有更 Pythonic 的方式?
您可以使用列表推导:
d = {"a":[1,2,3], "b":4}
r = [[a, i] for a, b in d.items() for i in (b if isinstance(b, list) else [b])]
Output:
[['a', 1], ['a', 2], ['a', 3], ['b', 4]]
您不能使用列表理解,因为它必须从一个项目到另一个项目 map。 您打算创建比dict
中更多的项目:
d = {"a":[1,2,3], "b":4}
result = []
for k,v in d.items():
if isinstance(v, list):
for item in v:
result.append([k,item])
else:
result.append([k,v])
def di(my_dictionary):
for key in my_dictionary:
if type(my_dictionary[key]) == list:
for item in my_dictionary[key]:
yield [key,item]
else:
yield [key,my_dictionary[key]]
只需使用它
d = {"a":[1,2,3], "b":4}
list(di(d))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.