下面是我的代码,有谁可以帮我用python3内置库函数来优化流程?在
Dict1 = {'ky1':1, 'ky2':2,'ky_3':3}
Dict2 = {'ky1':4, 'ky2':5,'ky_4':6}
Dict3 = {'ky2':7, 'ky3':8,'ky_5':9}
D = [Dict1,Dict2,Dict3]
Keys_list = []
for i in D:
tmp = list(i.keys())
Keys_list.append(tmp)
Output = list(set.intersection(*map(set,Keys_list)))
我的Dict1、Dict2、Dict3都是大字典
谢谢
如果您只需要所有字典中所有键的列表,那么可以使用
dict.viewkeys()
(对于python2.7)或python3.x中的dict.keys()
来获取dictionary视图对象,然后将它们相交。在python3.x的示例-
对于python2.7,使用
Dict1.viewkeys()
等,而不是.keys()
。在如果您有一个字典列表,使用
^{pr2}$functools.reduce()
函数在一行中完成此操作的一种方法是-类似的逻辑,使用for循环-
如果我没听懂你的问题,你在找三本字典的交叉键,对吗?在
如果是这样的话,只需要迭代其中一个,过程很简单。在
列表理解迭代一个dict,并且在所有三个dict中查找每个条目。如果它存在,它将被添加到列表中。您将获得:
^{pr2}$作为输出。在
相关问题 更多 >
编程相关推荐