概述
1.1 列表相关知识
序列是Python中最基本的数据结构。序列中的每个数据项都分配一个数字 - 它的位置或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的数据项的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
L1 =['Google', 'Runoob', 1997, 2000] #字符串与数字的混合
L2 =[1, 2, 3, 4, 5] #纯数字
L3 =["a", "b", "c", "d"] #纯字符串
与字符串的索引一样,列表索引从0开始。列表可以进行插入、删除、更改、切片(截取)、组合等
1.2 访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
L2 = ['a','b','c','d','e','f','g','h']
#多列表联合取值
print(L1[2],L2[0:3])
脚本执行结果如下所示:
Python list.py
['zhangsan', 23, 'lisi', '1989', 'wangwu', 87]
zhangsan 1989
[23, 'lisi', '1989']
87
87
['1989', 'wangwu', 87]
['zhangsan', 23, 'lisi', '1989', 'wangwu']
['zhangsan', 23, 'lisi', '1989', 'wangwu']
lisi ['a', 'b', 'c']
1.3 更新列表
对列表的数据项进行修改和增加,修改直接赋值替换,用append()函数的方法来增加列表项
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
L1 = ['zhangsan',23,'lisi','1989','wangwu',87]
#打印列表数据项
print(L1)
#给列表增加一个数据项
L1.append("hongyi")
print(L1)
#在数据项lisi前面插入一个数据"chy"
L1.insert(2,"chy") # 2 是lisi的下标,chy是要插入的数据,插入在哪个数据项的前面就写哪个数据项的下标
print(L1)
#修改列表的值,把1989替换成2001
L1[4] = 2001 #直接赋值,另外要注意的是这个列表是插入过数据项的列表,不是原始列表
print(L1)
以上脚本执行结果如下所示:
Python list_append.py
['zhangsan', 23, 'lisi', '1989', 'wangwu', 87]
['zhangsan', 23, 'lisi', '1989', 'wangwu', 87, 'hongyi']
['zhangsan', 23, 'chy', 'lisi', '1989', 'wangwu', 87,'hongyi']
['zhangsan', 23, 'chy', 'lisi', 2001, 'wangwu', 87, 'hongyi']
1.4 删除列表的数据项
可以使用 del 语句来删除列表的的, 也可以用remove()函数的方法达到删除目的
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
L1 = ['zhangsan',23,'lisi',1989,'wangwu',87]
#打印列表数据项
print(L1)
#删除列表数据项23,方法1,用remove()函数
L1.remove(23)
print(L1)
#删除列表数据项wangwu,方法2用del删除
del L1[3]
print(L1)
#删除列表数据项87,方法3用pop()函数删除
L1.pop(3) # 3 是下标,默认不输入下标即pop()的话,默认删除的是列表中的最后一个数据项
print(L1)
注:每一个列表都是以上一步操作完成后输出的列表为准,比如:删除方法3中的列表是以上删除方法2中的执行结果列表为基础的,而不是用原始列表演示该步骤。
以上脚本执行结果如下所示:
['zhangsan', 23, 'lisi', 1989, 'wangwu', 87] #原始列表
['zhangsan', 'lisi', 1989, 'wangwu', 87]
['zhangsan', 'lisi', 1989, 87]
['zhangsan', 'lisi', 1989]
1.5 列表的检索(index)、统计、反转、合并、排序
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
L1 = ['zhangsan',23,'lisi',1989,'wangwu',87,'f','j','k','zhangsan',23,23]
#打印列表数据项
print(L1)
#在多个数据项中查找f,利用index()函数
print(L1.index('f')) #找出了名为f的数据项下标为6
print(L1[L1.index('f')]) #通过下标6查找出了该数据项名为f
#统计重复的数据项数量,利用count()函数
print(L1.count('zhangsan'),L1.count(23)) #统计zhangsan出现的次数和23出现的次数
#列表的反转,利用reverse()函数
print(L1)
L1.reverse() #打印列表后执行反转操作
print(L1) #再次打印列表,查看是否已经反转
#列表的排序,利用sort(),根据ascsi码排序
L2 = ['hangsan','llisi','angwu','angsan',]
L2.sort()
print(L2)
#利用extend()合并列表
L1 = ['zhangsan',23,'lisi',1989,'wangwu',87,'f','j','k','zhangsan',23,23]
L2 = ['hangsan','llisi','angwu','angsan',]
L1.extend(L2)
print(L1)
print(L1,L2)
以上脚本执行结果如下所示:
['zhangsan', 23, 'lisi', 1989, 'wangwu', 87, 'f', 'j', 'k','zhangsan', 23, 23]
6
f
2 3
['zhangsan', 23, 'lisi', 1989, 'wangwu', 87, 'f', 'j', 'k','zhangsan', 23, 23]
[23, 23, 'zhangsan', 'k', 'j', 'f', 87, 'wangwu', 1989,'lisi', 23, 'zhangsan']
['angsan', 'angwu', 'hangsan', 'llisi']
['zhangsan', 23, 'lisi', 1989, 'wangwu', 87, 'f', 'j', 'k','zhangsan', 23, 23, 'hangsan', 'llisi', 'angwu', 'angsan']
['zhangsan', 23, 'lisi', 1989, 'wangwu', 87, 'f', 'j', 'k','zhangsan', 23, 23, 'hangsan', 'llisi', 'angwu', 'angsan'] ['hangsan', 'llisi','angwu', 'angsan']
1.6 列表的浅copy与深copy
##########################
以上脚本执行结果如下所示:
['zhangsan', 23, 'lisi', 1989, 'zhangsan', ['honghua','shangguan'], 23, 23]
['zhangsan', 23, 'lisi', 1989, 'zhangsan', ['honghua','shangguan'], 23, 23]
a列表中最大的数是: 200
a列表中最小的数是: 17
6
1.7 Python列表函数与方法小结
Python包含以下函数:
序号 | 函数 |
1 | len(list) 列表元素个数 print(len(a)) |
2 | max(list) 返回列表元素最大值 |
3 | min(list)返回列表元素最小值 |
4 | list(seq)将元组转换为列表 |
Python包含以下方法:
序号 | 方法 |
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]) 对原列表进行排序 |
10 | list.clear() 清空列表 |
11 | list.copy() 复制列表 |
最后
以上就是高兴白开水为你收集整理的Python3学习笔记之 列表(9)的全部内容,希望文章能够帮你解决Python3学习笔记之 列表(9)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复