一.列表
1.列表的定义
列表是一个有序的集合。
names = ['Joy', 'Lily', 'Marry']
2.正向访问列表中的元素
>>> names[0] #正向访问列表中的元素时,索引值从0开始取
'Joy' >>> names[1] 'Lily' >>> names[2] 'Marry'
3.逆向访问列表中的元素
>>> names[-1] #逆向访问时,索引值从-1开始取 'Marry' >>> names[-2] 'Lily'
3.切片取值
语句:列表名[下标1:下标2:步长3] 以步长3取出下标1到下标2(包括下标1不包括下标2)之间的元素。
students =['xiaoMing', 'LiLei', 'HanMeimei', 'Paul', 'Lucy', 'Lily', 'Jonh']
students[0:3] #取出下标0至下标3(包括下标1不包括下标3)之间的元素 ['xiaoMing', 'LiLei', 'HanMeimei'] students[2:4] #取出下标2至下标4(包括下标2不包括下标4)之间的元素 ['HanMeimei', 'Paul'] students[0:] #不写终止位置的下标值就默认取到列表最后一个元素,且包含最后一个元素 ['xiaoMing', 'LiLei', 'HanMeimei', 'Paul', 'Lucy', 'Lily', 'Jonh'] students[:4] #不写起始位置的下标值,默认从列表的第一个元素开始取 ['xiaoMing', 'LiLei', 'HanMeimei', 'Paul'] students[::2] #以2的步长来取值,隔一取一 ['xiaoMing', 'HanMeimei', 'Lucy', 'Jonh']
4.给列表追加元素
列表名.append(‘元素’)
students =['xiaoMing', 'LiLei', 'HanMeimei', 'Paul', 'Lucy', 'Lily', 'Jonh'] students.append('Joy') >>> students ['xiaoMing', 'LiLei', 'HanMeimei', 'Paul', 'Lucy', 'Lily', 'Jonh', 'Joy']
6.向列表中间插入元素
列表名.insert(插入位置, 插入内容)
students =['xiaoMing', 'LiLei', 'HanMeimei', 'Paul', 'Lucy', 'Lily', 'Jonh'] students.insert(3, 'Mily') #将Mily插在下标为3的位置,原来下标为3及3以后的元素顺次往后挪一位 >>> students ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Paul', 'Lucy', 'Lily', 'Jonh', 'Joy'
7.删除列表中的元素
students = ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Paul', 'Lucy', 'Lily', 'Jonh', 'Joy'] del students[4] >>> students ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Joy']
8.修改列表中的元素
直接为再次赋值就能改写元素。
students = ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Joy'] >>> students[-1] = 'Kate' >>> students ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate']
9.扩展扩展
列表1.extend(列表2) #将列表2中的元素写进列表1的末尾
students = ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate'] >>> students2 = ['XiaoMing', 'XiaoHong'] >>> students.extend(students2) >>> students ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong']
10.列表重复
students2 = ['XiaoMing', 'XiaoHong'] >>> stu_repet=students2*3 >>> stu_repet ['XiaoMing', 'XiaoHong', 'XiaoMing', 'XiaoHong', 'XiaoMing', 'XiaoHong']
11.判断元素是否在列表中
students = ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] print('Lily' in students) True
12.二维列表
animal = [['rabbit', 'dog', 'cat'], ['fish','shrimp'], ['monkey', 'chick', 'duck']] >>> animal[2][0] 'monkey'
二.列表的方法
1.list.pop(obj)
移除列表中指定下标的元素(默认最后一个元素),并且返回该元素的值。
students = ['xiaoMing', 'LiLei', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] students.pop(1) 'LiLei' #返回被移除的值 >>> students ['xiaoMing', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong']
2.list.remove(obj)
移除列表中某个值的第一个匹配项
students = ['xiaoMing', 'HanMeimei', 'XiaoMing', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] students.remove('XiaoMing') #移除了第一个XiaoMing >>> students ['xiaoMing', 'HanMeimei', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong']
3.清空列表
students2 = ['XiaoMing', 'XiaoHong'] students2.clear() >>> students2 []
4.list.index(obj)
从列表中找出某个值第一个给匹配项的索引位置
students = ['xiaoMing', 'HanMeimei', 'XiaoMing', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] >>> students.index("XiaoMing") 2
5.len(list)
列表元素个数
students = ['xiaoMing', 'HanMeimei', 'XiaoMing', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] >>> len(students) 10
6.list.count()
计算某个值在列中出现的次数
students = ['xiaoMing', 'HanMeimei', 'XiaoMing', 'Mily', 'Lucy', 'Lily', 'Jonh', 'Kate', 'XiaoMing', 'XiaoHong'] >>> students.count('XiaoMing') 2
7.max(list)
返回列表元素最大值
num1 = [1 ,2, 3] >>> max(num1) 3 name = ['joy', 'Lily'] >>> max(name) 'joy'
8.list.reverse()
翻转列表中的元素
name = ['joy', 'Lily'] >>> name.reverse() >>> name ['Lily', 'joy']
9.list.sort([founc])
对原列进行排序
num2 = [3, 4, 1, 2, 6] >>> num2.sort() >>> num2 [1, 2, 3, 4, 6]
com = ['DB', 'Pfizer', '*ali', '123hao', 'baidu'] >>> com.sort() >>> com ['*ali', '123hao', 'DB', 'Pfizer', 'baidu'] #默认特殊字符在最前面,其次是数字,大写字母,小写字母
10.list.copy
复制列表
com = ['*ali', '123hao', 'DB', 'Pfizer', 'baidu'] >>> com_copy=com.copy() >>> com_copy ['*ali', '123hao', 'DB', 'Pfizer', 'baidu']
11list(seq)
将元组转换为列表
tuple1=('*ali', '123hao', 'DB', 'Pfizer', 'baidu') >>> com_CN = list(tuple1) >>> com_CN ['*ali', '123hao', 'DB', 'Pfizer', 'baidu']