List(列表)
在Python中,用方括号表示一个List,[ ]
List是Python中最主要的内置数据类型之一。
List中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
List有序的包含对象,且用户可以自由的增加和删除List里的对象。
特点:
- 可变
- 可包含不同类型的元素
Methods
list.append(x)
添加一个元素到列表的末尾。相当于a[len(a):] = [x]。
list.extend(L)
将给定列表L中的所有元素附加到原列表a的末尾。相当于a[len(a):] = L。亦同 a + L。
list.insert(i, x)
在给定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,所以 a.insert(0, x) 在列表的最前面插入,a.insert(len(a), x) 相当于 a.append(x)。
list.remove(x)
删除列表中第一个值为 x 的元素。如果没有这样的元素将会报错。 del
list.pop([i])
删除列表中给定位置的元素并返回它。如果未指定索引,a.pop() 删除并返回列表中的最后一个元素。
list.clear()
删除列表中所有的元素。相当于del a[:]。
list.index(x)
返回列表中第一个值为 x 的元素的索引。如果没有这样的元素将会报错。
list.count(x)
返回列表中 x 出现的次数。
list.sort(cmp=None, key=None, reverse=False)
原地排序列表中的元素。
cmp参数可以允许你提供一个比较函数,根据提供的比较函数来进行排序。改参数在Python3中已经取消。
key参数和cmp参数类似,可以提供一个函数,这个函数为每个元素生成一个键,然后根据元素的键来排序。
reverse参数是一个Boolean类型的参数,当设置为True时,表示反向排序
list.reverse()
反转列表中的元素。相当于[::-1]
list.copy()
返回列表的一个浅拷贝。等同于a[:]。
注:append, extend, insert, remove, sort, reverse之类的方法只修改列表而没有返回值打印出来, 它们其实返回了默认值None
切片
切片操作符在Python中的原型是
[start:stop:step]
即:[开始索引:结束索引:步长值]
开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1
结束索引:切片操作符将取到该索引为止,不包含该索引的值。
步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0
li = [1,2,3,4,5,6,7]
print li[1:]
输出[2,3,4,5,6,7],省略终止索引,表示取起始索引之后的所有值,等效于li[1:len(li)]
print li[:3]
输出[1,2,3],省略起始索引,表示从0开始取,等效于li[0:3]
print li[:]
输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]
print li[::]
输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]
print li[::-1]
输出[7,6,5,4,3,2,1],省略起始索引、终止索引,步长值为-1,表示反向获取
+和*
两个list可以使用数学运算符+,表示将两个list连接成一个大的list
list可以与一个整数使用运算符,表示将list重复n次,形成一个大的list(n是的整数)