鱼C论坛

 找回密码
 立即注册
查看: 923|回复: 0

[技术交流] cookbook 1.17

[复制链接]
发表于 2022-1-20 22:31:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

在字典中提取子集

问题描述:
        创建一个字典的子集

一、字典推导式
字典推导式 键:值 迭代 判断
  1. datas = {
  2.     "小红": 18,
  3.     "小黄": 19,
  4.     "小蓝": 18,
  5.     "小绿": 23,
  6.     "小青": 21,
  7.     "小白": 14,
  8.     "小紫": 11,
  9.     "小黑": 19
  10. }


  11. over_18 = {k: datas[k] for k in datas if datas[k] >= 18}
  12. print(over_18)
复制代码
{'小红': 18, '小黄': 19, '小蓝': 18, '小绿': 23, '小青': 21, '小黑': 19}


二、其他方法
  1. #  1、先创建元组,再转为字典
  2. test1 = dict((key, value)for key, value in datas.items() if value >= 18)
  3. print(test1)
  4. # 2、集合的方法
  5. test2 = {key: datas[key] for key in datas.keys() & {"小白", "小蓝"}}  # 集合的并集
  6. print(test2)
复制代码
{'小红': 18, '小黄': 19, '小蓝': 18, '小绿': 23, '小青': 21, '小黑': 19}
{'小蓝': 18, '小白': 14}

但是速度都不如第一种

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 18:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表