Python中的列表推导式

列表推导式是一种简洁而强大的构造列表的方法。它允许你在一行代码中根据现有的列表或可迭代对象创建新的列表。

列表推导式的基本语法如下:

[expression for item in iterable if condition]

其中:

  • expression 是用于计算新列表中的元素的表达式。
  • item 是可迭代对象中的每个元素。
  • iterable 是一个可迭代对象,如列表、元组、集合等。
  • condition 是一个可选的条件,用于过滤元素。

以下是一些示例:

示例1: 生成一个新的列表,其中包含原始列表中每个元素的平方:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

输出:

[1, 4, 9, 16, 25]

示例2: 使用条件过滤器:

numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)

输出:

[2, 4]

示例3: 处理字符串列表:

names = ["Alice", "Bob", "Charlie"]
name_lengths = [len(name) for name in names]
print(name_lengths)

输出:

[5, 3, 7]

示例4: 使用嵌套的循环:

colors = ["red", "green", "blue"]
objects = ["apple", "banana", "cherry"]
color_objects = [(color, obj) for color in colors for obj in objects]
print(color_objects)

输出:

[('red', 'apple'), ('red', 'banana'), ('red', 'cherry'), ('green', 'apple'), ('green', 'banana'), ('green', 'cherry'), ('blue', 'apple'), ('blue', 'banana'), ('blue', 'cherry')]

完整版语法结构

[expression for targrt1 in iterable1 if condition1
            for targrt2 in iterable2 if condition2
            ...
            for targrtN in iterableN if conditionN]
#sample:
[[x,y] for x in range(10) if x%2==0 for y in range(10) if y%3==0]

输出如下:

[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]

# 转换成循环

```python
_ = []
for x in range(10):
    if x%2==0:
        for y in range(10):
            if y%3==0:
                _.append([x,y])

输出如下:

[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值