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