接着讲列表里面的一些操作吧
列表元素访问与计数
1. 统计指定元素在列表中出现的次数使用 count(), 这就不必细说了, 直接看代码, 需要记住的是括号里面放的是元素
- list = [1,5,5,5,5,8,9]
- print(list.count(5))
输出结果:
4
2.index()获取指定元素首次出现的下标, 若列表中不存在指定元素, 则抛出异常
- list = [1,5,5,5,5,8,9]
- print(list.index(5))
运行结果:
1
3. 如果想要知道某个元素是否存在列表中, 使用 in, 具体的用法请看代码:
- list = [1,5,5,5,5,8,9]
- print(8 in list)
运行结果:
True
列表排序
1.sort()按照指定规则对所有元素进行排序
- list = [99,17,56,3,2,5,7]
- list.sort()
- print(list)
- list.sort(reverse=True)# 在里面加上 reverse = True 之后降序排序
- print(list)
运行结果:
- [2, 3, 5, 7, 17, 56, 99]
- [99, 56, 17, 7, 5, 3, 2]
2. 在这再介绍一下 sorted()和 reversed()
sorted()是 python 的内置函数, 对列表做出排序之后返回新列表, 不对原列表作修改
reversed()返回一个逆序排序后的迭代对象, 不对原列表做任何修改
- list_v1 = [99,17,56,3,2,5,7]
- print(sorted(list_v1))
- print(list_v1) #经过 sorted()操作之后, 原列表没做任何修改
- print(list(reversed(list_v1)))
运行结果:
- [2, 3, 5, 7, 17, 56, 99]
- [99, 17, 56, 3, 2, 5, 7]
- [7, 5, 2, 3, 56, 17, 99]
用于序列操作的常用内置函数
1.len(): 返回列表中的元素个数(也就是求列表的长度), 元组, 字典, 集合, 字符串等都可以用
2.max(),min()函数: 返回列表中的最大或最小元素, 同样适用于元组, 字典, 集合, range 对象等
3.sum(): 对列表的元素进行求和
4.zip(): 返回可迭代的 zip 对象, 这个东西不好解释, 直接看代码吧
- list_v1 = [99,17,56,3,2,5,7]
- list_v2 = [23,12,4,5,6,8,0]
- list_v3 = zip(list_v1,list_v2)
- print(list(list_v3))
运行结果:
[(99, 23), (17, 12), (56, 4), (3, 5), (2, 6), (5, 8), (7, 0)]
还有个枚举列表元素, enumerate(), 返回枚举对象, 其中每个元素包含下标和值的元组, 对元组, 字符串同样有效 \
- for i in enumerate("hello world"):
- print(i)
运行结果:
- (0, 'h')
- (1, 'e')
- (2, 'l')
- (3, 'l')
- (4, 'o')
- (5, ' ')
- (6, 'w')
- (7, 'o')
- (8, 'r')
- (9, 'l')
- (10, 'd')
在这也展示一下遍历列表的三种方式:
- a = [1,5,7,88,9,3]# 第一种
- for i in a:
- print(i)
- print()
- for i in range(len(a)):# 第二种
- print(i,a[i])
- print()
- for i,ele in enumerate(a):
- print(i,ele)
运行效果:
- 1
- 5
- 7
- 88
- 9
- 3
- 0 1
- 1 5
- 2 7
- 3 88
- 4 9
- 5 3
- 0 1
- 1 5
- 2 7
- 3 88
- 4 9
- 5 3
还有个列表推导式, 这个东西我不太会用, 等我全部弄清楚了再来补吧
接下来讲解一下列表切片的一些东西:
- a = [1,5,7,88,9,3]# 第一种
- list_v1 = a[1:4:]
- print(list_v1)
运行结果:
[5, 7, 88]
在 [] 里面第一个位置表示的是从哪开始切, 如果不写则默认为从最开始的那个元素开始, 第二个位置表示结束的位置, 如果不写则表示莫认到最后
一个元素, 第三个位置是步长, 就是隔几个元素隔的意思,
学编程需要大家多动手, 我也是个菜鸟, 大家一起努力, 一起进步
来源: https://www.cnblogs.com/xy-l/p/11183246.html