python列表生成式

列表生成式(List Comprehension)是Python中的一种简洁且高效的创建列表的方式。通过列表生成式,你能够在一行代码中构造出列表,而不用使用多个循环或其他控制结构。

1、语法格式如下:

[expression for item in iterable if condition]

其中:

  • expression 是要生成的列表元素的表达式。
  • item 是从 iterable(一个可迭代对象)中取出的元素。
  • condition 是一个可选的条件,它决定了 expression 是否会添加到最终的列表中。

2、基本示例

# 创建一个包含0到9的平方的列表
squares = [x**2 for x in range(10)]
print(squares)
# Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 创建一个只包含偶数的列表
evens = [x for x in range(20) if x % 2 == 0]
print(evens)
# Output: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

# 嵌套循环的列表生成式
multiplication_table = [(x, y) for x in range(1, 4) for y in range(1, 4)]
print(multiplication_table)
# Output: [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]


# 创建一个包含非负数平方值的列表,对于负数保持原值:
nums = [-1, 2, -3, 4]
transformed = [x if x < 0 else x ** 2 for x in nums]
print(transformed)
# Output: [-1, 4, -3, 16]

通过列表生成式,不仅可以提高代码的可读性,还能显著减少代码行数,非常适合在对数据进行简单变换时使用。然而,对于过于复杂的逻辑或多层嵌套的情况,使用传统的循环和条件语句可能会更直观。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

咬尾巴的猫在coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值