zoukankan      html  css  js  c++  java
  • 快速找到多个字典的公共键(key)

     1 '''
     2 快速找到多个字典的公共键(key)
     3 '''
     4 from functools import reduce
     5 from random import randint,sample
     6 #随机取样 在'abcdefg'七个字母中随机取3个
     7 s1 = sample('abcdefg',3)
     8 print(s1)
     9 #随机取样 在'abcdefg'七个字母中随机取3-7个
    10 s2 = sample('abcdefg',randint(3,7))
    11 dict1 = {x:randint(1,4) for x in sample('abcdefg',randint(3,7))}
    12 dict2 = {x:randint(1,4) for x in sample('abcdefg',randint(3,7))}
    13 dict3 = {x:randint(1,4) for x in sample('abcdefg',randint(3,7))}
    14 print(dict1)
    15 print(dict2)
    16 print(dict3)
    17 res=[]
    18 #遍历出公共键
    19 for x in dict1:
    20     if x in dict2 and x in dict3:
    21         res.append(x)
    22 
    23 print(res)
    24 
    25 #使用集合找出公共键  dict.keys为字典的K
    26 print(dict1.keys())
    27 
    28 res1 = dict1.keys() & dict2.keys() & dict3.keys()
    29 print(res1)
    30 
    31 
    32 #使用map与reduce计算N条集合的公共键
    33 dictmap = map(dict.keys,[dict1,dict2,dict3])
    34 print(list(dictmap))
    35 res2 = reduce(lambda x,y : x & y ,map(dict.keys,[dict1,dict2,dict3]))
    36 print(res2)
  • 相关阅读:
    CentOS7.4部署Python3+Django+uWSGI+Nginx
    测试:ATM
    JDBC_增删改
    HTTP请求状态码
    Servlet2
    Java日期时间3
    Servlet1
    安装Tomcat
    Java日期时间2
    广度优先遍历
  • 原文地址:https://www.cnblogs.com/tngh/p/10426384.html
Copyright © 2011-2022 走看看