Python学习—列表
列表是Python中使用最频繁的数据类型
列表定义:
1)一组有序项目的集合
2)可变的数据类型(能进行增删改查)
3)列表中可包含任何数据类型,也可包含另一个列表
4)列表以方括号 [ ] 包围的数据集合,不同的成员以 逗号 , 分隔
5)列表可通过索引号访问其中的成员
切片和索引
1) 索引 list1
索引的值可以是正数,也可以是负数。正数代表方向从左至右,负数代表方向从右至左。
list1 = [1, 2, 3, 4 ,5]
list1[0] #1
list1[-1] #-5
2) 切片[开始位置:结束位置:步长] 冒号是必须的,开始位置不指定默认为0, 结束位置不指定默认为序列尾,步长不指定默认为1
从开始位置进行切片,如果不写开始位置默认从0号元素、也就是第一个元素开始。不包括结束位置,切片只包括结束位置前面的那个元素。
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
list1[0:2] #[1, 2], 从第0个元素取到第1个元素,不包括第2个元素
list1[:2] #同上,可省略第一个参数
list1[2:] #[3, 4, 5, 6, 7, 8, 9, 10, 11]
list1[2:-1] #[3, 4, 5, 6, 7, 8, 9, 10]
list1[:] #同l1,相当于复制一份
list1[-1:]
list1[::2] #步长2,[1, 3, 5, 7, 9, 11]
list1[0:7:2] #[1, 3, 5, 7]
list1[7:0:-2] #[8, 6, 4, 2] 注意步长为负、理解起来相当于从7到1,倒序步长2
help(list)查看帮助
常见的一些列表操作:
声明和创建一个列表
list1 = [] #空列表
list2 = [1, 2, 3, 4]
list3 = [1, 'a', [2,3] ]
list4 = list('hello') #得到 ['h', 'e', 'l', 'l', 'o']
list5 = list(range(4)) #[0, 1, 2, 3]
list6 = '1,2,3,4,5'.split(',') #['1', '2', '3', '4', '5']
内建函数list(a_sequence)可以将一个序列转为列表
通过下标访问
list1 = [1, 2, 3, 4]
llist1[0] #1
计算机语言中一般都是从0开始的,所以下标也是从0开始的。
增删改查:
增加元素:
1、添加一个元素 append,只能往尾部追加单个对象,使用多个参数会引起异常。
append方法添加,在原来列表的末尾添加一个元素。元素类型可以是任意的,使用方法如下
使用点操作符列表名.append( )
list1 = [1, 2, 3]
list1.append(4) #得到[1, 2, 3, 4]
list1.append("Hello") #得到[1, 2, 3, 4, 'Hello']
list1.append(['HI']) #得到[1, 2, 3, 4, 'Hello', ['HI']]
2、插入一个元素 insert,使用方法如下:
列表名.insert(位置,需插入的元素)
list1 = [1, 2, 3]
list1.insert(1,9) #得到[1, 9, 2, 3]
3、两个列表相加
list1 = [1, 2, 3]
list2 = [1 + [4, 5, 6]] #这种方式list1不变,二者返回新的列表
4、扩增列表,往一个列表的尾部扩增另外一个列表 extend
list1.extend([4, 5, 6]) #直接扩增
相当于
list1 += [4, 5, 6]