小列表通常可以使用列表字面值直接创建,但是长一些的列表通常需要使用程序来创建。对已一系列或连续的整数我们可以使用

list(range(n)) 创建,或者如果只需要一个整数数字迭代,使用range()就足以满足,但是对一些更复杂的列表使用 for 。。。in循环创建是一种更常见的做法,比如,

假定需要生成给定时间范围内的闰年列表,可以使用如下语句:

   leaps=[]

   for year in range(1900,1940):

       if(year%4==0 and year%100!=0)or (year%400==0)

           leaps.append(year)  

 

列表内涵是一个表达式,也是一个循环,该循环有一个可选的,包含在方括号中的条件,作用是为列表生产数据选项,并且可以使用条件过滤掉不需要的数据项。

列表内涵最简单的形式如下:

    [item for item in iterable]

 

可以使用表达式

   [expression for item in iterable]

   [expression for item in iterable if condition]

第二种 相当于

   temp=[]

   for item in iterable:

        if condition:

             temp.append(item)

 

 

那么上面生产闰年的列子可以使用 leaps=[y for y in range(1900,1940) if(y%4==0 and y%400!=0) or(y%400=0)]