2024年5月1日发(作者:)
python 推导表达式
推导表达式(Comprehensions)是一种简洁的方式来创建可迭
代对象(例如列表、元组和集合)或创建字典的方式。Python
中的推导表达式有列表推导式、集合推导式、字典推导式和生
成器推导式四种类型。
1. 列表推导式(List comprehensions):
通过在方括号内使用表达式和迭代器来创建一个列表。
例如,要创建一个包含1到10之间所有偶数的列表,可以
使用以下列表推导式:
```
evens = [x for x in range(1, 11) if x % 2 == 0]
```
结果为 `[2, 4, 6, 8, 10]`。
2. 集合推导式(Set comprehensions):
通过在花括号内使用表达式和迭代器来创建一个集合。
例如,要创建一个包含1到10之间所有奇数的集合,可以
使用以下集合推导式:
```
odds = {x for x in range(1, 11) if x % 2 != 0}
```
结果为 `{1, 3, 5, 7, 9}`。
3. 字典推导式(Dictionary comprehensions):
通过在花括号内使用表达式和迭代器来创建一个字典。
例如,要创建一个包含1到10之间数的平方作为键和相应
数的列表作为值的字典,可以使用以下字典推导式:
```
squares = {x: [x**2] for x in range(1, 11)}
```
结果为 `{1: [1], 2: [4], 3: [9], 4: [16], 5: [25], 6: [36], 7: [49], 8:
[64], 9: [81], 10: [100]}`。
4. 生成器推导式(Generator comprehensions):
通过在圆括号内使用表达式和迭代器来创建一个生成器对象。
生成器推导式与列表推导式的语法类似,只是将方括号换成
圆括号。
例如,要创建一个生成器对象,生成1到10之间所有数的
平方,可以使用以下生成器推导式:
```
squares = (x**2 for x in range(1, 11))
```
这将创建一个生成器对象,可以使用`next()`函数来按需获取
平方数。
推导表达式是Python语言中非常强大和灵活的特性,它可以
帮助简化代码并提高代码的可读性。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714574098a2472861.html
评论列表(0条)