序列之二:列表(Python)
列表类型也是序列式的数据类型,并且能保留任意数目的Python对象。其功能与C语言中的Vector类似。
操作符
标准操作符 > < ==
在使用比较操作符时,比较逻辑为对两个列表的元素分别使用cmp()进行比较,直到一方元素胜出为止。
>>> list1=[123,'abc','123']
>>> list2=[123,'xyz','456']
>>> list1 == list2
False
>>> list1 > list2
False
>>> list1 < list2
True
切片[] [:]
列表的切边,返回的是一个或者几个对象的集合。
>>> list=[123,'abc',['aabb',45,[1,2,3]]]
>>> len(list)
3
>>> list[2]
['aabb', 45, [1, 2, 3]]
>>> list[2][2]
[1, 2, 3]
>>> list[2][2][2]
3
>>> list[2][:2]
['aabb', 45]
>>> list[2][2]='new One'
>>> list
[123, 'abc', ['aabb', 45, 'new One']]
成员关系操作 in,not in
>>> list
[123, 'abc', ['aabb', 45, 'new One']]
>>> 'aabb' in list
False
>>> 'a' in list
False
>>> 'abc' in list
True
>>> 'a' not in list
True
连接操作符 +
>>> l
[1, 2, 'lala']
>>> list
[123, 'abc', ['aabb', 45, 'new One']]
>>> l + list
[1, 2, 'lala', 123, 'abc', ['aabb', 45, 'new One']]
>>> list + l
[123, 'abc', ['aabb', 45, 'new One'], 1, 2, 'lala']
重复操作符 *
>>> l
[1, 2, 'lala']
>>> l * 3
[1, 2, 'lala', 1, 2, 'lala', 1, 2, 'lala']
列表解析
>>> [i*2 for i in range(1,5)]
[2, 4, 6, 8]
>>> [i*2 for i in range(1,5) if i != 2 ]
[2, 6, 8]
内建函数
cmp()
len()
max()
min()
sorted()
reversed()
enumerate()
zip()
sum()
list()
tuple()
列表类型内建函数
append(obj) 向列表中添加一个对象obj
count(obj) 返回obj在列表中出现的次数
extend(seq) 把seq添加到序列中
index(obj,i,j) 返回obj在列表中的位置k,并且 i<=k<j
insert(index,obj) 在index位置插入obj
pop(index=-1) 删除并返回指定位置的对象,默认是最后一个
remove(obj) 从列表中删除对象obj
reverse 反转
sort 排序