5. 找到多个字典的公共键(key)

例如,对于西班牙足球甲级联赛,每轮球员进球统计:

第1轮:{'苏亚雷斯': 1, '梅西': 2, '本泽马': 1, ...}
第2轮:{'苏亚雷斯': 2, 'C罗': 1, '格里兹蔓': 2, ...}
第3轮:{'苏亚雷斯': 1, '托雷斯': 1, '贝尔': 1, ...}
...

要求:统计出前N轮,每场比赛都有进球的球员。即找出多个字典的公共键。

解决方案:

  1. 使用遍历。for遍历第一个字典的key,然后if判断是否在后面的字典中;

  2. 利用集合(set)的交集操作:

    1. 使用字典的dict.keys()方法得到keys的集合;
    2. 再使用map函数得到每个字典keys的集合;
    3. 使用reduce函数,去所有字典的keys集合的交集。

  • 对于sample()函数:
sample(self, population, k)

从序列或集合中选择k个唯一随机元素,返回一个包含这些元素的新列表。


  • 方案1示例:
from random import randint, sample

d1 = {
   k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))}
d2 = {
   k: randint(1, 4) for k in sample('abcdefgh'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值