Python学习02 列表 List
Python列表 List
Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between square brackets)。
一个Python列表例子:
movies = ['Hello', 'World','Welcome']
在Python中创建列表时,解释器会在内存中创建一个类似于数组的数据结构来存放数据,数据项自下而上堆放(形成一个堆栈)。
列表数据的访问
一般访问索引
可以像访问数组元素一样取用列表中的元素:用方括号加上索引号,索引号从0开始:
>>> names=['Jack','Meng','Mike']>>> print(names[0])Jack>>>
负数索引
索引值也可以从后往前,依次是-1,-2,……
比如:
>>> movies=['hello','world','welcome',10]>>> movies[-1]10>>> movies[-4]'hello'
切片(slice)操作
用冒号分隔要访问的数据索引的起点和终点,包含前者,不包含后者。
冒号前面的数字和后面的数字都可以省略,省略前者代表最首,省略后者代表最尾。
一段小例子:
movies = ['Hello','World','Welcome']print(movies)#positive indexprint("index 0: " + str(movies[0]))#negtive indexprint("index -1: " + str(movies[-1]))#sliceprint("slice 0-1: " + str(movies[0:1]))print("slice all: " + str(movies[:]))print("slice 2-: " + str(movies[2:]))print("slice -2: " + str(movies[:-2]))
这段程序的执行结果是:
使用切片还可以增加数据或者插入数据,用法很灵活。
#assignment: change the list to 3 itemsmovies[0:]=['first','second','third']print(movies)#insert: change 1 item to 3 itemsmovies[0:1]=['first01','first02','first03']print(movies)#delete: delelte the first 2 itemsmovies[0:2]=[];print(movies)
执行结果:
列表比数组更强大
首先,不限制数据类型,列表中各种数据可以混合存储,不一定是同种类型。
比如下面这样完全没问题:
movies = ['Hello','World','Welcome',10,30.5]
其次,列表可以嵌套,即列表中的元素也可以是一个列表。
比如:
movies = ['Hello','World','Welcome',10,30.5,['cat','dog']]
['cat','dog']就是列表中的一个项,自己也是一个列表,可以继续往下嵌套。
访问的时候这样访问:
print(movies[5][1])
输出dog
List类型的内置方法
见链接:
在Python Shell中输入:dir(__builtins__)
可以看到所有的内置函数(BIF)。(注意前面和后面都是两个下划线)。
参考资料
官网Tutorial:
同事推荐:
《Head First Python》(设计模式之后真是爱上了Head First系列的书)。