1.基本语法
list1 = ['Person_1','Person_2','Person_3']
单引号/双引号都可以:
>>> list1 = ['Person_1','Person_2','Person_3']
>>> list1
['Person_1', 'Person_2', 'Person_3']
>>> list2 = ["Person_1","Person_2","Person_3"]
>>> list2
['Person_1', 'Person_2', 'Person_3']
2.注意事项
2.1 可以通过索引访问列表中元素
>>> list1[0]
'Person_1'
>>> list1[1]
'Person_2'
>>> list1[2]
'Person_3'
>>> list1[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
2.2 倒索引可以逆向访问列表元素
>>> list1[-1]
'Person_3'
>>> list1[-2]
'Person_2'
>>> list1[-3]
'Person_1'
>>> list1[-4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
2.3 列表中0没有正负之分
>>> list1[0]
'Person_1'
>>> list1[-0]
'Person_1'
2.4 Index -> 通过值访问索引
>>> list1.index('Person_1')
0
>>> list1.index('Person_2')
1
>>> list1.index('Person_3')
2
>>> list1.index('Person_4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'Person_4' is not in list
2.5 append -> 追加列表元素
>>> list1.append('Person_4')
>>> list1
['Person_1', 'Person_2', 'Person_3', 'Person_4']
2.6 元素必须加引号;也可以追加变量
>>> list1.append(Person_5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Person_5' is not defined
>>> name = 'Person_5'
>>> list1.append(name)
>>> list1
['Person_1', 'Person_2', 'Person_3', 'Person_4', 'Person_5']
2.7 pop -> 删除列表元素
>>> list1
['Person_1', 'Person_2', 'Person_3', 'Person_4', 'Person_5']
>>> list1.pop()
'Person_5'
>>> list1
['Person_1', 'Person_2', 'Person_3', 'Person_4']
>>> list1.pop(2)
'Person_3'
>>> list1
['Person_1', 'Person_2', 'Person_4']
2.8 insert -> 插入列表元素
>>> list1
['Person_1', 'Person_2', 'Person_4']
>>> list1.insert(2,'Person_3')
>>> list1
['Person_1', 'Person_2', 'Person_3', 'Person_4']
2.9 push -> 列表中没有push功能
>>> list1.push('Person_5')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'push'
2.10 sort -> 列表排序
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1.sort()
>>> list1
[0, 1, 1, 1, 5, 6, 6, 8, 8, 9, 9]
2.11 反转排序
注:python 3.x不支持sort()里面传参数
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1.sort(reverse = True)
>>> list1
[9, 9, 8, 8, 6, 6, 5, 1, 1, 1, 0]
2.12 sorted -> 通用排序函数
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> sorted(list1)
[0, 1, 1, 1, 5, 6, 6, 8, 8, 9, 9]
>>> sorted(list1,reverse = True)
[9, 9, 8, 8, 6, 6, 5, 1, 1, 1, 0]
2.13 count -> 统计元素出现次数
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1.count(1)
3
>>> list1.count(9)
2
>>> list1.count(0)
1
>>> list1.count(4)
0
2.14 extend -> 列表拓展
>>> list1 = [189,169,60851]
>>> list2 = ['peter']
>>> list2.extend(list1)
>>> list1
[189, 169, 60851]
>>> list2
['peter', 189, 169, 60851]
2.15 remove -> 移除列表中的元素
注:移除remove参数中指定的元素,如果多个,移除第一个
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1.remove(6)
>>> list1
[1, 8, 9, 1, 9, 6, 0, 8, 5, 1]
2.16 reverse -> 反转列表中的元素
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1.reverse()
>>> list1
[1, 5, 8, 0, 6, 9, 6, 1, 9, 8, 1]
2.17 cmp -> 比较列表中的元素
>>> list1 = [1,2,3]
>>> list2 = [1,2,3]
>>> cmp(list1,list2)
0
>>> list1 = ['a','b','c']
>>> list2 = [1,2,3]
>>> cmp(list1,list2)
1
>>> list1 = [1.0,2.0,3.0]
>>> list2 = [1,2,3]
>>> cmp(list1,list2)
0
>>> list1 = [1,2,3]
>>> list2 = [1,1,3]
>>> cmp(list1,list2)
1
>>> list1 = [1,2,3]
>>> list2 = [1,3,3]
>>> cmp(list1,list2)
-1
>>> list1 = ['a','b','c']
>>> list2 = ["a","b","c"]
>>> cmp(list1,list2)
0
>>> list1 = [1,2,3]
>>> list2 = [1,1,4]
>>> cmp(list1,list2)
1
>>> cmp(list2,list1)
-1
2.18 max / min -> 列表中的最大 / 最小元素
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> max(list1)
9
>>> min(list1)
0
2.19 替换元素
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1[3] = 'a'
>>> list1
[1, 8, 9, 'a', 6, 9, 6, 0, 8, 5, 1]
2.20 list里面的元素可以是一个list
>>> list1 = ['peter',[1,2,3],30]
>>> list1
['peter', [1, 2, 3], 30]
>>> len(list1)
3
2.21 访问list里的list的元素
>>> list1 = ['peter',[1,2,3],30]
>>> list1[0]
'peter'
>>> list1[1]
[1, 2, 3]
>>> list1[1][1]
2
2.22 列表的切片(截取)
>>> list1 = [1,8,9,1,6,9,6,0,8,5,1]
>>> list1
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1[2:5]
[9, 1, 6]
>>> list1[2:]
[9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1[:5]
[1, 8, 9, 1, 6]
>>> list1[:]
[1, 8, 9, 1, 6, 9, 6, 0, 8, 5, 1]
>>> list1[]
File "<stdin>", line 1
list1[]
^
SyntaxError: invalid syntax
2.23 列表的加法
>>> list1 = [1,2,3]
>>> list2 = [4,5,6]
>>> list1 + list2
[1, 2, 3, 4, 5, 6]
>>> [1,2,3] + ['a','b','c']
[1, 2, 3, 'a', 'b', 'c']
2.24 列表的乘法
>>> list1 = [1,2,3]
>>> list1 * 2
[1, 2, 3, 1, 2, 3]
2.25 列表的迭代
注:
① y无需定义
② for语句后要有缩进
③ 无语句时直接回车即可
>>> for y in [1,8,9,1,6,9,6,0,8,5,1]:
... print y
...
1
8
9
1
6
9
6
0
8
5
1
2.26 判断元素在列表中是否存在
>>> x = 3
>>> x in [1,2,3]
True
>>> x in [4,5,6]
False
2.27 对于未定义的变量不能使用此语句
>>> z in [1,2,3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'z' is not defined