26.列表的创建
基本语法[ ]
创建
In [18]: a=[10,20,"onepis","yaphets"]
In [19]: a
Out[19]: [10, 20, 'onepis', 'yaphets']
In [20]: a=[] # 创建一个空的列表
list()
创建
使用
list()
可以将 任何可迭代的数据转化成列表。
In [21]: a=list() # 创建 一个空列表对象
In [22]: a
Out[22]: []
In [23]: a=list(range(5))
In [24]: a
Out[24]: [0, 1, 2, 3, 4]
In [25]: a=list("onepis")
In [26]: a
Out[26]: ['o', 'n', 'e', 'p', 'i', 's']
range()创建整数序列
range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。
语法格式为:
range([start,] end [,step])
- start 参数:可选,表示起始数字。默认是 0
- end参数:必选,表示结尾数字。
- step参数:可选,表示步长,默认为1
python3 中 range()
返回的是一个range 对象,而不是列表。
我们需要通过list()
方法将其 转换成列表对象。
典型示例如下:
In [27]: list(range(3,15,2))
Out[27]: [3, 5, 7, 9, 11, 13] # 生成 3到 15 步长 为 2
In [28]: list(range(15,3,-1))
Out[28]: [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4] # 生成15 到 3 步长为 -1
In [29]: list(range(3,-10,-1)) # 3 到 -10 步长 -1
Out[29]: [3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
推导式生成列表 (简介一下,重点在for循环后讲)
使用列表推导式可以非常方便的创建列表,在开发中经常使用。
但是,由于涉及到for
循环 和 if
语句。
在此,仅做基本介绍。在我们控制语句后面,会详细讲解更多列表推导式的细 节。
>>> a = [x*2 for x in range(5)] #循环创建多个元素
>>> a
[0, 2, 4, 6, 8]
>>> a = [x*2 for x in range(100) if x%9==0]
# 通过 if 过滤元素 x除以9 的 余数 为0 符合的 x 乘以2 作为元素
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]