Python列表(list)操作:
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
- Python有6个序列的内置类型,但最常见的是列表和元组。
- 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型
列表创建与更新:
1 #列表更新
2 list = ['physics','chemistry',1997,2000]
3 print('Value available at index 2:',list[2]) #列表的索引从0开始,依次为1
4 list[2] = 2001 #通过直接赋值可以对列表进行更新
5 print('Value available at index 2:',list[2])
6
7 #结果:
8 #Value available at index 2: 1997
9 #Value available at index 2: 2001
列表中添加元素:
1 #使用append向列表添加元素
2 list = ['physics','chemistry']
3 list.append('wangtao') #向列表中添加元素'wangtao'
4 print(list[1])
5 print(list)
6
7 #结果
8 #chemistry
9 #['physics', 'chemistry', 'wangtao']
删除列表元素:
1 #删除列表元素
2 list = ['physics', 'chemistry', 1997, 2000]
3 print(list)
4 del list[1] #使用del语句可以对列表元素进行删除
5 print(list)
6
7 #结果
8 #['physics', 'chemistry', 1997, 2000]
9 #['physics', 1997, 2000]
列表操作符:
1 #列表操作符
2 import operator
3 list = [1,2,3,4,5]
4 list2 = [2,3,4,5]
5 print(len(list)) #len用于获取列表的长度
6 print(list+list2) #'+'对两个列表的元素组合成一个列表
7 print(list*2) #'*'重复列表
8 print(3 in list) #判断元素是否位于列表中
9 print(6 in list) #判断元素是否位于列表中
10 print(max(list)) #返回列表中元素最大值
11 print(min(list)) #返回列表中元素最小值
12 print(operator.eq(list,list2))
1 #Python中部分operator操作
2 operator.lt(a, b)
3 operator.le(a, b)
4 operator.eq(a, b)
5 operator.ne(a, b)
6 operator.ge(a, b)
7 operator.gt(a, b)
8 operator.__lt__(a, b)
9 operator.__le__(a, b)
10 operator.__eq__(a, b)
11 operator.__ne__(a, b)
12 operator.__ge__(a, b)
13 operator.__gt__(a, b)
13 #在python 3中没有cmp函数了,若需要比较两个list的元素,需要调用operator模块
14
15
16 #结果:
17 #5
18 #[1, 2, 3, 4, 5, 2, 3, 4, 5]
19 #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
20 #True
21 #False
22 #5
23 #1
24 #True
列表截取:
1 #列表截取
2 list = ['physics', 'chemistry', 1997, 2000]
3 print(list[2]) #输出索引为'2'的元素
4 print(list[-3]) #输出倒数第三个元素
5 print(list[1:]) #从索引'1'开始输出列表元素
6
7 #结果:
8 #1997
9 #chemistry
10 #['chemistry', 1997, 2000]
其余列表操作:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序
例程:
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 # @Time : 2018/3/31 16:01
4 # @Author : yang
5 # @File : names.py
6 # @Software: PyCharm
7
8 names = ['zhangyang','guyun','xiangpeng','xuliangchen']
9 #添加
10 #names.append('leihaidong')
11 #print(names) #['zhangyang', 'guyun', 'xiangpeng', 'xuliangchen', 'leihaidong']
12
13 #插入
14 # names.insert(1,'chenxiang')
15 # print(names) #['zhangyang', 'chenxiang', 'guyun', 'xiangpeng', 'xuliangchen']
16
17 #删除
18 # names.remove('zhangyang') #直接移除列表中的元素
19 # print(names) #['guyun', 'xiangpeng', 'xuliangchen']
20
21 # names.pop() #未指定索引时,直接移除列表中最后一个元素
22 # print(names) #['zhangyang', 'guyun', 'xiangpeng']
23
24 # names.pop(0) #指定删除元素的索引,删除列表中第一个元素
25 # print(names) #['guyun', 'xiangpeng', 'xuliangchen']
26
27 # del names[1] #删除列表中索引为'1'的元素
28 # print(names) #['zhangyang', 'xiangpeng', 'xuliangchen']
29
30 #修改
31 # names[1] = 'wangchao' #将列表第二个元素修改为'wangchao'
32 # print(names) #['zhangyang', 'wangchao', 'xiangpeng', 'xuliangchen']
33
34 #输出元素的索引编号
35 # print(names.index('guyun')) #1
36
37 #逆序输出列表
38 # names.reverse() #将列表元素逆序排列
39 # print(names) #['xuliangchen', 'xiangpeng', 'guyun', 'zhangyang']
40
41 #输出列表特定区间的元素
42 #names[start:stop],包括起始,不包括终点,也就是左闭右开
43 #print(names[0:2]) #['zhangyang', 'guyun']
44 #print(names[1:]) #打印输出从索引'1'开始到结束的所有元素:['guyun', 'xiangpeng', 'xuliangchen']
45 #print(names[-1]) #打印输出从右往左数的第一个元素:xuliangchen
46 #print(names[-3:-1]) #左闭右开,打印输出从右往左数的第三个元素和第二个元素:['guyun', 'xiangpeng']