Python 将字典的所有键提取为列表或np.array
输入:所有键都是整数的字典字典。嵌套字典中的值是不相关的 所需输出:一个列表或Python 将字典的所有键提取为列表或np.array,python,arrays,numpy,dictionary,Python,Arrays,Numpy,Dictionary,输入:所有键都是整数的字典字典。嵌套字典中的值是不相关的 所需输出:一个列表或np.数组(外\u键,内\u键)对 例如: dict_of_dicts = {0: {1: "crap", 2: "crap", 3: "crap"}, 4: {5: "crap", 1: "crap"}} 我需要一个输出,例如 key_pairs = [(0,1), (0,2), (0,3), (4,5), (4,1
np.数组
(外\u键,内\u键)对
例如:
dict_of_dicts = {0: {1: "crap", 2: "crap", 3: "crap"}, 4: {5: "crap", 1: "crap"}}
我需要一个输出,例如
key_pairs = [(0,1), (0,2), (0,3), (4,5), (4,1)]
或
显然,对的顺序并不重要(dict\u of dicts
毕竟是没有顺序的),所以
例如,它仍然有效。关于速度,一方面,这需要执行几十万次,但另一方面,所有dict的dict都相当小(大约有十几个键对)。因此,我想可读性比速度更重要。两者兼备将是非常好的,当然您可以使用嵌套列表:
key_pairs = [(k1, k2) for k1, v in dict_of_dicts.items() for k2 in v.keys()]
print(key_pairs)
输出:
[(0, 1), (0, 2), (0, 3), (4, 5), (4, 1)]
关于此任务,您的问题是什么?直到您可以在列表理解中嵌套
for
语句。谢谢@德尔泰夫:不用担心,我很高兴能帮上忙。
key_pairs = [(k1, k2) for k1, v in dict_of_dicts.items() for k2 in v.keys()]
print(key_pairs)
[(0, 1), (0, 2), (0, 3), (4, 5), (4, 1)]