Python序列之列表 (list)

作者博文地址:http://www.cnblogs.com/spiritman/

  列表是Python中最基本的数据结构,是Python最常用的数据类型。Python列表是任意对象的有序集合,通过索引访问指定元素,第一个索引是0,第二个索引是1,依此类推。列表可变对象,支持异构、任意嵌套。

创建一个列表

  list1 = []        #创建空列表

  list2 = ['a','b','c','d','e']

  list3 = ['a','b','c',1,2,3]

列表支持的操作方法及实例展示

  可以使用dir(list)查看列表支持的所有操作

append

 1 功能:列表添加元素,添加至列表末尾
 2 语法: L.append(object) -- append object to end
 3 L = ['a','c','b','d']
 4 L.append('e')
 5 结果:L
 6 ['a','c','b','d','e']
7 l = [1,2,3]
8 L.append(l)
9 结果:L
10['a','c','b','d',[1,2,3]]

count

1 功能:统计指定元素在列表中的个数
2 语法: L.count(value) -> integer -- return number of occurrences of value
3 L = [1,2,3,4,5,5]
4 L.count(5)
5 结果:2
6 l = [1,2,3,4,5,[5,6]]
7 l.count(5)
8 结果:1                #只统计第一层的元素个数

extend

 1 功能:迭代字符元素或列表元素
 2 语法: L.extend(iterable) -- extend list by appending elements from the iterable
 3 L= ['a','b','c','d']
 4 l = [1,2,3]
 5 L.extend('e')
 6 结果:L
 7 ['a','b','c','d','e']
 8 L.extend(l)                #注意与append的区别
 9 结果:L
10 ['a','b','c','d',1,2,3]                    

index

1 功能:定位列表中的指定元素
2 语法: L.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.
3 L = ['a','b','c','d']
4 L.index('c')
5 结果:2
6 L.index('f')
7 结果:Traceback (most recent call last):
8        File "<stdin>", line 1, in <module>
9      ValueError: 'f' is not in list

 insert

1 功能:在指定索引位置的元素前面插入新的元素
2 语法:L.insert(index, object) -- insert object before index
3 L = ['a','b','c','d']
4 L.insert(2,'e')
5 结果:L
6 ['a','b','e','c','d']

pop

1 功能:删除指定索引值的元素,返回值为当前删除的元素的值。不指定索引值,默认删除最后一个元素
2 语法:L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range.
3 L = ['a','b','c','d']
4 L.pop()
5 结果:'d'
6 L.pop(2)
7 结果:'c'

remove

1 功能:删除列表中指定的元素
2 语法:L.remove(value) -- remove first occurrence of value. Raises ValueError if the value is not present.
3 L = ['a','b','c','d']
4 L.remove('c')
5 结果:print L
6 ['a','b','d']

reverse

1 功能:用于反向列表中的元素
2 语法:L.reverse() -- reverse *IN PLACE*
3 L = ['a','b','c','d']
4 L.reverse()
5 结果:print L
6 ['d','c','b','a']

sort

 1 功能:对列表中的元素进行排序。
 2 语法:L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
        cmp(x, y) -> -1, 0, 1
 3 L = ['d','b',1,2,3,'a','d']
 4 L.sort()
 5 结果:print L
 6 [1,2,3,'a','b','c','d']
 7 
 8 L = ['d','b',1,2,3,'a','d',['ab','bc']]
 9 L.sort()
10 结果:print L
11 [1, 2, 3, ['ab', 'bc'], 'a', 'b', 'd', 'd']

 L1 + L2

 1 功能:合并两个列表,返回一个新的列表,原列表不变
 2 语法:L = L1 + L2 -> list
 3 L1 = ['a','b','c']
 4 L2 = [1,2,3]
 5 L = L1 + L2
 6 结果:
 7 print L
 8 ['a','b','c',1,2,3]
 9 print L1
10 ['a','b','c']
11 print L2
12 [1,2,3]

L * n

1 功能:重复输出列表n次,返回一个新列表,原列表不变
2 语法:L = L1 * n
3 L1 = ['a','b','c','d']
4 L = L1 * 3
5 结果:
6 print L
7 ['a','b','c','d','a','b','c','d','a','b','c','d']
8 print L1
9 ['a','b','c','d']

 作者博文地址:http://www.cnblogs.com/spiritman/

http://www.cnblogs.com/spiritman/
原文地址:https://www.cnblogs.com/spiritman/p/5141598.html