2-5快速找到多个字典中的公共键

来源:互联网 发布:矩阵图片 编辑:程序博客网 时间:2024/05/16 06:17
# -*- coding:utf-8 -*-from random import randint, sample# sample : 取样sample('abcdefg', 3)sample('abcdefg', randint(3, 6))s1 = {x: randint(1, 5) for x in sample('abcdefg', randint(3, 6))}s2 = {x: randint(1, 5) for x in sample('abcdefg', randint(3, 6))}s3 = {x: randint(1, 5) for x in sample('abcdefg', randint(3, 6))}# way_1v_1 = []for k in s1:    if k in s2 and k in s3:        v_1.append(k)print v_1# way_2s1.viewkeys()  # 展示字典s1的key值组成的集合s2.viewkeys()v_2 = s1.viewkeys() & s2.viewkeys() & s3.viewkeys()  # 这种表示方式很有趣print v_2# way_3# map(dict.viewkeys, [s1, s2, s3])# [dict_keys(['c', 'b', 'g', 'f']),# dict_keys(['c', 'e', 'd', 'g', 'f']),# dict_keys(['a', 'd', 'g', 'f'])]v_3 = reduce(lambda a, b:a & b,map(dict.viewkeys, [s1, s2, s3]))print v_3
0 0
原创粉丝点击