python 列表解析式

本文介绍了Python中的列表解析式,这是一种简洁且高效的创建列表的方法。通过使用迭代机制,列表解析式可以提高代码可读性和执行效率。基本语法包括[expression for iter_val in iterable],并可以结合if条件和if...else进行筛选或赋值。文中还通过实例展示了不同解析式在循环中的执行顺序,并提供了练习题以加深理解。
摘要由CSDN通过智能技术生成

列表解析是Python迭代机制的一种应用,常用于实现创建新的列表。 列表解析式简化了代码,使代码的可读性增强;编译器在内部作了优化,不会因为简写而影响效率,反而提高了效率。

 基本语法:

  • [expression for iter_val in iterable]
练习题:生成一个列表,元素是1-9,返回这个列表元素自增1后平方的列表

[(i+1)**2 for i in range(10)]

#对应的for循环实现:
list1 = []
list2 =list(range(10))
for i in list2:
    list1.append((i+1)**2)
print(list1)

 

  • [i for i in range(k) if condition]:此时if起条件判断作用,满足条件的,将被返回成为最终生成的列表的一员。
  • [i if condition else exp for exp]:此时if...else被用来赋值,满足条件的i以及else被用来生成最终的列表。
print([i for i in range(10) if i%2 == 0])

#结果:[0, 2, 4, 6, 8]


print([i if i ==0 else 100 for i in range(10)])

#结果 : [0, 100, 100, 100, 100, 100, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>