python初学3

本文深入介绍了Python列表推导式的使用,包括基本语法、条件判断和嵌套循环的应用。通过实例展示了如何生成特定条件的列表,以及如何通过列表推导式高效地进行元素筛选和组合。同时,还探讨了列表推导式在处理数据过滤和配对场景中的实用性。
摘要由CSDN通过智能技术生成

举例说明列表推导式如何使用?

for表达式:

1. a_range = range(10)

2. # 对a_range执行for表达式

3. a_list = [x * x for x in a_range]

4. # a_list集合包含10个元素

5. print(a_list)

[0 , 1 , 4 , 9 , 16 , 25 , 36 , 49 , 64, 81]

第 3 行会对 a_range 执行迭代,由于 a_range 相当于包含 10 个元素,因此程序生成的 a_list 同样包含 10 个元素,且每个元素都是 a_range 中每个元素的平方(由表达式 x*x 控制)。

还可以在列表推导式中添加 if 条件语句,这样列表推导式将只迭代那些符合条件的元素。

1. b_list = [x * x for x in a_range if x % 2 == 0]

2. # a_list集合包含5个元素

3. print(b_list)

[0 ,4 , 16, 36, 64]

可使用多个循环,就像嵌套循环一样。

1. d_list = [(x, y) for x in range(5) for y in range(4)]

2. # d_list列表包含20个元素

3. print(d_list)

相当于

1. dd_list = []

2. for x in range(5):

3. for y in range(4):

4. dd_list.append((x, y))

[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3)]

1. src_a = [30, 12, 66, 34, 39, 78, 36, 57, 121]

2. src_b = [3, 5, 7, 11]

3. # 只要y能整除x,就将它们配对在一起

4. result = [(x, y) for x in src_b for y in src_a if y % x == 0]

5. print(result)

[(3, 30), (3, 12), (3, 66), (3, 39), (3, 78), (3, 36), (3, 57), (5, 30), (11, 66), (11, 121)]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值