LIST(列表)是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等。列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作。可以通过list(seq)函数把一个序列类型转换成一个列表。下面举几个例子:
list1 = ["a", "b", "c"] #字符列表
list2 = [1, 2, 3, 4, 5, 6] #数字列表
list3 = [1, 2, "One", "Two"] #混合列表
list4 = [[1, 2, 3], ["a, "b", "c"]] #列表的列表
list5 = [(1, 2)] #元组列表
list6 = list("TEST") #将字符串“TEST“转换为字符列表,其效果等同于list["T", "E", "S", "T"]
在Python中,列表类型有自己的标准方法对其进行访问和操作:
方法
描述
append(x)
在列表尾部追加单个对象x。使用多个参数会引起异常。
count(x)
返回对象x在列表中出现的次数。
extend(L)
将列表L中的表项添加到列表中。返回None。
Index(x)
返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。
insert(i,x)
在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。
pop(x)
删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。
remove(x)
删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。
reverse()
颠倒列表元素的顺序。
sort()
对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。
如上述标准方法之外,对列表类型还有一些很实用的切片方法,下面举例说明。
s1 = list("ABCDEFGHIJKLMN")
print s1[0:4] #取索引为0至4的元素,执行结果为 ['A', 'B', 'C', 'D']
print s1[0:8:2] #在索引为0至8的元素中将索引值为偶数的元素取出,执行结果为['A', 'C', 'E', 'G']
print s1[:4] #取索引为0 至4的元素(这句代码是第一句的简短写法),执行结果为['A', 'B', 'C', 'D']
print s1[5:] #取索引大于等于5的所有元素,执行结果为['F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N']
print s1[-3:] #从后往前取三个元素,执行结果为['L', 'M', 'N']
print s1[-3:-1] #从倒数第三个元素开始连续取两个元素,执行结果为['L', 'M']
PS:列表中第一个元素的索引为0,第二个元素索引为1,以此类推。在Python中所有序列对象都可以执行切片操作,包括字符串和字典类型。