请给我几个列表推导式的例子,阐述他们相比正常的循环简洁在哪
时间: 2024-03-18 11:39:01 浏览: 67
当我们需要对一个列表进行操作时,使用循环语句是一种常见的方式。但是在Python中,列表推导式可以更加简洁地实现相同的功能。以下是几个列表推导式的例子,以及它们相比正常循环的简洁之处:
1. 将一个列表中的每个元素都乘以2:
```python
# 使用循环语句实现
nums = [1, 2, 3, 4, 5]
doubled_nums = []
for num in nums:
doubled_nums.append(num * 2)
print(doubled_nums) # [2, 4, 6, 8, 10]
# 使用列表推导式实现
nums = [1, 2, 3, 4, 5]
doubled_nums = [num * 2 for num in nums]
print(doubled_nums) # [2, 4, 6, 8, 10]
```
列表推导式使用了更加简洁的语法实现了相同的功能。在方括号中使用表达式和for循环,即可得到一个新的列表。
2. 将一个字符串中的每个字符都转换为大写字母:
```python
# 使用循环语句实现
string = "hello, world!"
uppercase_chars = []
for char in string:
uppercase_chars.append(char.upper())
print(uppercase_chars) # ['H', 'E', 'L', 'L', 'O', ',', ' ', 'W', 'O', 'R', 'L', 'D', '!']
# 使用列表推导式实现
string = "hello, world!"
uppercase_chars = [char.upper() for char in string]
print(uppercase_chars) # ['H', 'E', 'L', 'L', 'O', ',', ' ', 'W', 'O', 'R', 'L', 'D', '!']
```
列表推导式再次使用了更加简洁的语法实现了相同的功能。在方括号中使用表达式和for循环,即可得到一个新的列表。
3. 从一个列表中筛选出所有的奇数:
```python
# 使用循环语句实现
nums = [1, 2, 3, 4, 5]
odd_nums = []
for num in nums:
if num % 2 == 1:
odd_nums.append(num)
print(odd_nums) # [1, 3, 5]
# 使用列表推导式实现
nums = [1, 2, 3, 4, 5]
odd_nums = [num for num in nums if num % 2 == 1]
print(odd_nums) # [1, 3, 5]
```
在这个例子中,列表推导式同样使用了if语句来筛选出奇数。在方括号中使用表达式和for循环,并加上if语句,即可得到一个新的列表。这比使用循环语句要更加简洁。
阅读全文