python入门第五天
列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
1 list1 = ['张三', 'lisi', 23, 9000]; 2 list2 = [1, 2, 3, 4, 5 ]; 3 list3 = ["a", "b", "c", "d"];
访问列表中的值
1 a=['张三','李四','王五','赵六','钮七'] 2 #索引:0 1 2 3 4 ... 索引从0开始计数 3 #字符串的切片操作 4 5 print(a[0]) #取索引为0的字符串 6 7 print(a[1]) #取索引为1的字符串 8 9 print(a[1:]) #取 索引从1到最右边的所有字符串 10 11 print(a[1:3]) #取索引从1到3(不包括索引3的字符串)之间的所有字符串 12 13 print(a[3::-1]) #-1定义取值方向,默认为1,表示从左到右取值。-1表示从右向左取值 14 15 print(a[0:3:2]) #2表示为正数,表示从左到右,每2个单位,取一次值。 16 17 print(a[3:0:-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引3开始,从右到左方向,到索引为0,之间的值。 18 19 print(a[-2:1:-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引从-2开始,从右到左方向,到索引为1(不包含索引1对应的字符串)截止,之间的值。 20 21 print(a[-2::-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引为-2开始,从右到左方向,默认到最左边的值
结果:
================ RESTART: F:/python从入门到放弃/6.4/list_lesson.py ================ 张三 李四 ['李四', '王五', '赵六', '钮七'] ['李四', '王五'] ['赵六', '王五', '李四', '张三'] ['张三', '王五'] ['赵六', '李四'] ['赵六'] ['赵六', '李四'] >>>
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用insert()/ append()方法来添加列表项,如下所示:
1 a=['张三','李四','王五','赵六','钮七'] 2 3 a.append("欧阳上天") 4 a.append('独孤败天') 5 a.append('郭靖') #append 默认把参数放进列表的最后一个位置 6 7 print(a)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py ['张三', '李四', '王五', '赵六', '钮七', '欧阳上天', '独孤败天', '郭靖']
insert增加数据:
1 a=['张三','李四','王五','赵六','钮七'] 2 3 a.insert(2,'黄蓉') 4 5 print(a)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py ['张三', '李四', '黄蓉', '王五', '赵六', '钮七'] Process finished with exit code 0
修改数据
从类别中取出该值,直接重新赋值即可。
1 a=['张三','李四','王五','赵六','钮七'] 2 3 a[2]='欧阳锋' 4 print(a) 5 a[2:4]=['郭靖','黄蓉'] 6 print(a)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py ['张三', '李四', '欧阳锋', '赵六', '钮七'] ['张三', '李四', '郭靖', '黄蓉', '钮七'] Process finished with exit code 0
删除数据
删除操作: remove pop del
list.remove(obj) 移除列表中某个值的第一个匹配项。如果存在两个相同的值。则只一处第一次出现值
1 a=['张三','李四','王五','赵六','钮七'] 2 #删除操作: remove pop del 3 a.remove('王五') 4 print(a) 5 b=['张三','李四','王五','赵六','钮七','王五'] 6 b.remove('王五') 7 print(b)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py ['张三', '李四', '赵六', '钮七'] ['张三', '李四', '赵六', '钮七', '王五'] Process finished with exit code 0
list.pop([index=-1]]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
1 a=['张三','李四','王五','赵六','钮七'] 2 #删除操作: remove pop del 3 b=a.pop(1) 4 print(b)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py 李四 Process finished with exit code 0
Python列表函数&方法
1 a=['张三','钮七','李四','王五','赵六','钮七','陈二'] 2 print('返回列表的元素个数',len(a)) #返回列表的元素个数。 3 4 print(max(a)) #max() 方法返回列表元素中的最大值。 5 print(min(a)) #min() 方法返回列表元素中的最小值。 6 b=[1,3,56,89,23,4,2] 7 print('列表元素中的最大值',max(b)) #max() 方法返回列表元素中的最大值。 8 9 print('列表元素中的最小值',min(b)) #min() 方法返回列表元素中的最小值。 10 11 12 print('钮七的索引位置值:',a.index('钮七')) #index() 函数用于从列表中找出某个值第一个匹配项的索引位置。 13 14 print('统计钮七在列表中出现的次数',a.count('钮七')) #统计某个元素在列表中出现的次数 15 16 a.extend(b) #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 17 print(a) 18 print(b)
结果:
返回列表的元素个数 7 陈二 张三 列表元素中的最大值 89 列表元素中的最小值 1 钮七的索引位置值: 1 统计钮七在列表中出现的次数 2 ['张三', '钮七', '李四', '王五', '赵六', '钮七', '陈二', 1, 3, 56, 89, 23, 4, 2] [1, 3, 56, 89, 23, 4, 2]
反向列表 reverse()
1 a=['张三','钮七','李四','王五','赵六','钮七','陈二'] 2 3 a.reverse() #反向列表中元素 4 print(a)
结果:
"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py ['陈二', '钮七', '赵六', '王五', '李四', '钮七', '张三'] Process finished with exit code 0
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
sort()方法语法:
list.sort(cmp=None, key=None, reverse=False)
- cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值
该方法没有返回值,但是会对列表的对象进行排序。