下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

【Python 课堂】第66课—— 列表综合是什么

作者:在线学习平台     来源: www.kokojia.com点击数:817发布时间: 2014-10-28 10:17:07

标签: python教程python视频教程编程语言教程

大神带你学编程,欢迎选课

今天来讲讲 Python 里一个我非常喜欢的特性--列表综合(List Comprehension)。所谓列表综合,就是通过一个已有的列表生成一个新的列表。
 
直接看例子:
假设有一个由数字组成的 list,现在需要把其中的偶数项取出来在线学习,组成一个新的 list。一种比较“正常”的方法是:
 
list_1 = [1, 2, 3, 5, 8, 13, 22]
list_2 = []
for i in list_1:
if i % 2 == 0:
list_2.append(i)
print list_2
 
输出
[2, 8, 22]
 
此方法通过循环来遍历列表,对其中的每一个元素进行判断,若模取2的结果为0则添加至新列表中。
 
使用列表综合实现同样的效果技能培训:
 
list_1 = [1, 2, 3, 5, 8, 13, 22]
list_2 = [i for i in list_1 if i % 2 == 0]
print list_2
 
输出
[2, 8, 22]
 
[i for i in list_1] 会把 list_1 中的每一个元素都取出来,构成一个新的列表。
 
如果需要对其中的元素进行筛选,就在后面加上判断条件 if。所以 [i for i in list_1 if i % 2 == 0] 就是把 list_1 中满足 i % 2 == 0 的元素取出来组成新列表。
 
进一步的,在构建新列表时,还可以对于取出的元素做操作。比如,对于原列表中的偶数项,取出后要除以2,则可以通过 [i / 2 for i in list_1 if i % 2 == 0] 来实现。输出为 [1, 4, 11]。
 
在实际开发中视频教程,适当地使用列表综合可以让代码更加简洁、易读,降低出错的可能。
 
留一道作业:
用一行 Python 代码实现:把1到100的整数里,能被2、3、5整除的数取出,以分号(;)分隔的形式输出。

赞(26)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程