python实例:快速找出多个字典中的公共键
2024-10-19 22:48:22
1.生成随机字典
# 从abcdefg 中随机取出 3-6个,作为key, 1-4 的随机数作为 value
s1 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))}
方法1 用集合方法
s1 = {'c': 3, 'f': 3, 'g': 3, 'd': 4, 'b': 2}
s2 = {'b': 3, 'f': 2, 'c': 2}
s3 = {'f': 3, 'b': 1, 'c': 4, 'd': 3, 'g': 1, 'e': 2} print( s1.keys() & s2.keys() & s3.keys()) # {'f', 'b', 'c'}
方法2 使用 map 和 reduce
# map()将函数调用映射到每个序列的对应元素上并返回一个含有所有返回值的列表
# reduce函数对参数序列中元素进行累计计算
from functools import reduce
s1 = {'c': 3, 'f': 3, 'g': 3, 'd': 4, 'b': 2}
s2 = {'b': 3, 'f': 2, 'c': 2}
s3 = {'f': 3, 'b': 1, 'c': 4, 'd': 3, 'g': 1, 'e': 2} ret = reduce(lambda x, y : x & y, map(dict.keys, [s1, s2, s3]))
print(ret)
最新文章
- Node.js:OS模块
- centos文件误删除恢复
- XAF应用开发教程-内置Attribute功能列表
- CSS3基础01
- Template_Method
- hibernate get VS load
- 获取win7时区所有信息
- Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败
- Linux用户和用户组
- linux grep练习
- Cross-site scripting
- 使用linq对字符串1,2,3,4,5,6,7,8,9,10求和
- 接收一个IT招聘促销信息,试着想参加,有兴趣的可以携手并进,共同。
- JavaEE XML XSL转换(XSLT)
- Linux中java项目环境部署,简单记录一下
- pm2部署多个nodejs项目配置教程
- select标签实现二级联动
- ICC_lab总结——ICC_lab5:布线&;&;数字集成电路物理设计学习总结——布线
- Android远程桌面助手(Build 0787)
- 学习Acegi应用到实际项目中(11)- 切换用户