list 里面使用 for 和 if else
时间: 2024-04-30 19:23:37 浏览: 56
1. 列表推导式(List comprehension)
列表推导式是一种简洁的语法,可以使用 for 和 if else 语句在一个列表中生成新的元素。语法格式如下:
```python
new_list = [expression for item in iterable if condition]
```
其中,expression 是一个表达式,用于计算新元素的值。item 是可迭代对象 iterable 中的元素。condition 是一个可选的布尔表达式,用于筛选要添加到新列表中的元素。
举个例子,下面的列表推导式将一个列表中的偶数元素加倍:
```python
old_list = [1, 2, 3, 4, 5, 6]
new_list = [item * 2 for item in old_list if item % 2 == 0]
print(new_list) # 输出 [4, 8, 12]
```
2. 列表生成器(Generator expression)
列表生成器是一种类似于列表推导式的语法,但是不会像列表推导式一样生成一个完整的列表。它是一个迭代器,每次返回一个新元素。
语法格式如下:
```python
new_list = (expression for item in iterable if condition)
```
其中,expression、item 和 condition 的含义与列表推导式相同。
举个例子,下面的列表生成器将一个列表中的偶数元素加倍:
```python
old_list = [1, 2, 3, 4, 5, 6]
new_list = (item * 2 for item in old_list if item % 2 == 0)
for item in new_list:
print(item) # 输出 4,8,12
```
注意,列表生成器使用的是圆括号而不是方括号。此外,列表生成器返回的是一个迭代器,需要使用 for 循环或者 next() 函数逐个访问元素。
阅读全文