python查询字典里的多个key_Python:如何快速找到多个字典中的公共键(key)
方法一:for in 循環
from random import randint, sample
a1 = {k; randint(1, 4) for k in 'abcdefg'}
a2 = {k; randint(1, 4) for k in 'abcdefg'}
a3 = {k; randint(1, 4) for k in 'abcdefg'}
a4 = {k; randint(1, 4) for k in 'abcdefg'}
r = []
for x in a1:
if x in a2 and x in a3 and x in a4:
r.append(x)
print(r)
randint(1, 4):從1~4間隨機取一個數;
方法二:利用集合的交集操作
from random import randint, sample
a1 = {k; randint(1, 4) for k in 'abcdefg'}
a2 = {k; randint(1, 4) for k in 'abcdefg'}
a3 = {k; randint(1, 4) for k in 'abcdefg'}
a4 = {k; randint(1, 4) for k in 'abcdefg'}
a = a1.keys() & a2.keys()?& a3.keys()?& a4.keys()
print(a)
a1.keys():得到a1字典的key,一set格式;
a1.keys() & a2.keys()?& a3.keys()?& a4.keys():取4個集合的公共元素;
a為一個集合(set)
方法三:使用 map 即 reduce(用于求n個字典的公共key)
from random import randint, sample
from functools import reduce
a1 = {k; randint(1, 4) for k in 'abcdefg'}
a2 = {k; randint(1, 4) for k in 'abcdefg'}
a3 = {k; randint(1, 4) for k in 'abcdefg'}
a4 = {k; randint(1, 4) for k in 'abcdefg'}
b1 = map(dict.keys, [a1, a2, a3, a4])
b2 = reduce(lambda a ,b: a & b, b1)
print(b2)
b1 = map(dict.keys, [a1, a2, a3, a4]):以集合形式取每個字典的keys;
總結
以上是生活随笔為你收集整理的python查询字典里的多个key_Python:如何快速找到多个字典中的公共键(key)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地图漫游功能的具体体现_骏谷科技|数据中
- 下一篇: python绘图内容怎么保存_将绘图保存