Python列表综合

[问题]
假如,你有一个数的列表,而你想要得到一个对应的列表(新列表) ,使其中所有大于2的数都是原来的2倍,一般可能会使用下面的方法实现:
#! /usr/bin/python # Filename: problem.py list1=[2, 3, 4, 5, 6] list2=[] for i in list1: if i>2: list2.append(2*i) print 'list1: ', list1 print 'list2: ', list2 ####### # output ####### >>> list1: [2, 3, 4, 5, 6] list2: [6, 8, 10, 12]

[引入——列表综合]
这里我们为满足条件(if i > 2)的数指定了一个操作(2*i),从而导出一个新的列表。注意原来的列表并没有发生变化 。在很多时候,我们都是使用循环来处理列表中的每一个元素,而使用列表综合可以用一种更加精确、简洁、清楚的方法完成相同的工作

通过列表综合,可以从一个已有的列表导出一个新的列表 。使用列表综合的方法实现如下:
#! /usr/bin/python # Filename: list_comprehension.py # 2010-7-18 wcdj list1=[2, 3, 4, 5, 6] list2=[2*i for i in list1 if i>2] print 'list1: ', list1 print 'list2: ', list2 ####### # output ####### >>> list1: [2, 3, 4, 5, 6] list2: [6, 8, 10, 12]


你可能感兴趣的:(工作,python,list,2010)