您的位置:首页 > 编程语言 > Python开发

python高效编程技巧5(如何快速找到多个字典中的公共键)

2017-10-16 20:09 746 查看
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint, sample

# sample函数的作用,从"abcdefg"中随机取出其中n个
data = sample("abcdefg", randint(3, 6))
s1 = {x: randint(1, 4) for x in data}
s2 = {x: randint(1, 4) for x in data}
s3 = {x: randint(1, 4) for x in data}

# 解决方案:使用集合(set)的交集操作
# 方案1、使用字段的viewkeys()方法,得到一个字典keys的集合
s1 = s1.viewkeys()
s2 = s2.viewkeys()
s3 = s3.viewkeys()
print s1 & s2 & s3

# 方案2、使用map函数,得到所有字典的keys的集合,使用reduce函数,取所有字典的keys的集合的交集
map_list = map(dict.viewkeys, [s1, s2, s3])
result = reduce(lambda a, b: a & b, map_list)
print result
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python