欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python查询字典里的多个key_Python:如何快速找到多个字典中的公共键(key)

发布时间:2025/4/16 python 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。