Python学习-list操作

Python列表(list)操作:

  1. 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
  2. Python有6个序列的内置类型,但最常见的是列表和元组。
  3. 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
  4. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
  5. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
  6. 列表的数据项不需要具有相同的类型

列表创建与更新:

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']

 

posted @ 2018-03-27 17:09  偶尔写点代码  阅读(393)  评论(0编辑  收藏  举报