Python---列表 集合 字典 推导式(本文以 字典 为主)

推导式:

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导:列表推导式、集合推导式、字典推导式。

[1, 2, 3] 推导式 [1, 4, 9]

白话:就是把原先分开写的,组合在一起,放一行写。省事。

字典  推导式

思考:有如下两个列表,如何快速合并为一个字典?


list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'male']

person = {'name':'Tom', 'age':20, 'gender':'male'}

使用字典推导式

基本语法:

① 字典推导式 是  列表推导式思想的延续,语法差不多,只不过产生的是字典而已。

相关链接Python---列表 集合 字典 推导式(本文以 列表 为主)-CSDN博客

② 字典推导式格式:

变量 = {key:value for key,value in 序列}

字典推导式作用:快速  合并  列表  为字典或  提取字典中目标数据

案例:创建一个字典:字典key是1-5数字,value是这个数字的2次方。

思考:

key 1--5有范围,用range.     2次方,用  算术运算符  ** 2

得出的结果样式:dict1 = {1:1, 2:4, 3:9, 4:16, 5:25}

相关链接:Python算术运算符:加减乘除 整除// 取余(取模)% 幂指数** 小括号-CSDN博客

Python----range方法(函数)-CSDN博客

代码:


dict1 = {i:i**2 for i in range(1,6)}
print(dict1)

随机案例:把两个列表合并为一个字典

思考:就是一个对一个,name:Tom  age:20

变量 = {key:value for key,value in 序列}

相关链接:Python---数据序列中的公共方法-CSDN博客

随机代码:


list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'male']
# 结果:person = {'name':'Tom', 'age':20, 'gender':'male'}

person = {list1[i]:list2[i] for i in range(len(list1))}    # len()  计算容器中元素个数
print(person)

随机案例:提取字典中目标数据

相关链接:Python---字典的增、删、改、查操作-CSDN博客

随机代码:


counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'ACER': 99}

# 需求:提取上述电脑数量大于等于200的字典数据---items()  以列表返回可遍历的(键, 值) 元组数组
counts = {key:value for key, value in counts.items() if value >= 200}
print(counts)

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python字典推导是一种快速创建字典的方法,它非常简洁和高效。通过字典推导,我们可以使用一个简洁的语法来创建一个字典,并且可以根据需要对字典中的键值对进行筛选或转换。 字典推导的语法形为: ```python {key_expression: value_expression for item in iterable if condition} ``` 其中,`key_expression`是用于生成字典键的表达,`value_expression`是用于生成字典值的表达,`item`是可迭代对象中的每个元素,`if condition`是可选的条件语句,用于筛选元素。 举个例子,假设我们有一个列表`numbers`,我们想要创建一个字典字典的键是列表中的元素,字典的值是每个元素的平方。我们可以使用字典推导来实现这个需求: ```python numbers = [1, 2, 3, 4, 5] squared_dict = {x: x**2 for x in numbers} ``` 这样,我们就得到了一个键为1到5的字典,对应的值分别为1到25的平方。 字典推导还可以通过添加条件语句来筛选元素。例如,我们想要筛选出列表中大于2的元素,并将它们作为字典的键,对应的值为元素的平方。我们可以这样做: ```python numbers = [1, 2, 3, 4, 5] squared_dict = {x: x**2 for x in numbers if x > 2} ``` 这样,我们得到的字典将只包含大于2的元素。 总结来说,Python字典推导是一种简洁而强大的方来创建和筛选字典。使用字典推导可以让我们的代码更加优雅和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唯元素

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值