python3基础:列表解析

列表解析是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, 100, 100, 100, 100]
发布了52 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/yijinaqingan/article/details/85240032