列表推导式(List Comprehension)是一种简洁、高效的Python语法,用于快速生成列表。其基本语法结构为:
```python
[表达式 for 变量 in 可迭代对象 if 条件]
```
表达式:用于生成新列表中的每个元素。
变量:在每次循环中代表可迭代对象中的一个元素。
可迭代对象:可以是列表、元组、字符串、字典、集合或range函数生成的序列等。
条件(可选):用于过滤可迭代对象中的元素,只有满足条件的元素才会被包含在新列表中。
示例
生成1到10的平方数列表
```python
squares = [i 2 for i in range(1, 11)] ``` ```python even_squares = [x 生成1到10中的偶数平方数列表
```
生成30以内所有能被3整除的数
```python
multiples = [i for i in range(30) if i % 3 == 0]
```
生成30以内所有能被3整除的数的平方
```python
squared_multiples = [i 2 for i in range(30) if i % 3 == 0]
```
生成嵌套列表中名字含有两个‘e’的所有名字
```python
names_with_ee = [name for name in mcase if 'ee' in name.lower()]
```
注意事项
列表推导式虽然简洁,但过度使用可能会降低代码的可读性。
当列表推导式嵌套多层循环时,可能会导致性能问题,此时应谨慎使用。
通过列表推导式,可以大大简化代码,提高开发效率。在编写代码时,合理运用列表推导式可以使代码更加整洁和高效。