Python列表(list)操作:
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
- Python有6个序列的内置类型,但最常见的是列表和元组。
- 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型
列表创建与更新:
#列表更新
list = ['physics','chemistry',1997,2000]
print('Value available at index 2:',list[2]) #列表的索引从0开始,依次为1
list[2] = 2001 #通过直接赋值可以对列表进行更新
print('Value available at index 2:',list[2]) #结果:
#Value available at index 2: 1997
#Value available at index 2: 2001
列表中添加元素:
#使用append向列表添加元素
list = ['physics','chemistry']
list.append('wangtao') #向列表中添加元素'wangtao'
print(list[1])
print(list) #结果
#chemistry
#['physics', 'chemistry', 'wangtao']
删除列表元素:
#删除列表元素
list = ['physics', 'chemistry', 1997, 2000]
print(list)
del list[1] #使用del语句可以对列表元素进行删除
print(list) #结果
#['physics', 'chemistry', 1997, 2000]
#['physics', 1997, 2000]
列表操作符:
#列表操作符
import operator
list = [1,2,3,4,5]
list2 = [2,3,4,5]
print(len(list)) #len用于获取列表的长度
print(list+list2) #'+'对两个列表的元素组合成一个列表
print(list*2) #'*'重复列表
print(3 in list) #判断元素是否位于列表中
print(6 in list) #判断元素是否位于列表中
print(max(list)) #返回列表中元素最大值
print(min(list)) #返回列表中元素最小值
print(operator.eq(list,list2))
#Python中部分operator操作
operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.__lt__(a, b)
operator.__le__(a, b)
operator.__eq__(a, b)
operator.__ne__(a, b)
operator.__ge__(a, b)
operator.__gt__(a, b)
#在python 3中没有cmp函数了,若需要比较两个list的元素,需要调用operator模块 #结果:
#
#[1, 2, 3, 4, 5, 2, 3, 4, 5]
#[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
#True
#False
#
#
#True
列表截取:
#列表截取
list = ['physics', 'chemistry', 1997, 2000]
print(list[2]) #输出索引为'2'的元素
print(list[-3]) #输出倒数第三个元素
print(list[1:]) #从索引'1'开始输出列表元素 #结果:
#
#chemistry
#['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]):对原列表进行排序
例程:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018/3/31 16:01
# @Author : yang
# @File : names.py
# @Software: PyCharm names = ['zhangyang','guyun','xiangpeng','xuliangchen']
#添加
#names.append('leihaidong')
#print(names) #['zhangyang', 'guyun', 'xiangpeng', 'xuliangchen', 'leihaidong'] #插入
# names.insert(1,'chenxiang')
# print(names) #['zhangyang', 'chenxiang', 'guyun', 'xiangpeng', 'xuliangchen'] #删除
# names.remove('zhangyang') #直接移除列表中的元素
# print(names) #['guyun', 'xiangpeng', 'xuliangchen'] # names.pop() #未指定索引时,直接移除列表中最后一个元素
# print(names) #['zhangyang', 'guyun', 'xiangpeng'] # names.pop(0) #指定删除元素的索引,删除列表中第一个元素
# print(names) #['guyun', 'xiangpeng', 'xuliangchen'] # del names[1] #删除列表中索引为'1'的元素
# print(names) #['zhangyang', 'xiangpeng', 'xuliangchen'] #修改
# names[1] = 'wangchao' #将列表第二个元素修改为'wangchao'
# print(names) #['zhangyang', 'wangchao', 'xiangpeng', 'xuliangchen'] #输出元素的索引编号
# print(names.index('guyun')) #1 #逆序输出列表
# names.reverse() #将列表元素逆序排列
# print(names) #['xuliangchen', 'xiangpeng', 'guyun', 'zhangyang'] #输出列表特定区间的元素
#names[start:stop],包括起始,不包括终点,也就是左闭右开
#print(names[0:2]) #['zhangyang', 'guyun']
#print(names[1:]) #打印输出从索引'1'开始到结束的所有元素:['guyun', 'xiangpeng', 'xuliangchen']
#print(names[-1]) #打印输出从右往左数的第一个元素:xuliangchen
#print(names[-3:-1]) #左闭右开,打印输出从右往左数的第三个元素和第二个元素:['guyun', 'xiangpeng']