文章目录
29.列表元素访问和计数
通过索引直接访问元素
我们可以通过索引直接访问元素。索引的区间在
[0, 列表长度-1]
这个范围。
超过这个范围则 会抛出异常。
>>> a = [10,20,30,40,50,20,30,20,30]
>>> a[2]
30
>>> a[10]
Traceback (most recent call last):
File "<pyshell#211>", line 1, in <module>
a[10]
IndexError: list index out of range
index()
获得指定元素在列表中首次出现的索引
index()
可以获取指定元素首次出现的索引位置。
语法是:index(value,[start,[end]])
。
其中,start
和end
指定了搜索的范围。
>>> a = [10,20,30,40,50,20,30,20,30]
>>> a.index(20)
1
>>> a.index(20,3)
5
>>> a.index(20,3) #从索引位置 3开始往后搜索的第一个 20
5
>>> a.index(30,5,7) #从索引位置 5 到 7 这个区间,第一次出现 30元素的位置
6
count()
获得指定元素在列表中出现的次数
count()
可以返回指定元素在列表中出现的次数。
>>> a = [10,20,30,40,50,20,30,20,30]
>>> a.count(20)
3
len()
返回列表长度
len()返回列表长度,即列表中包含元素的个数。
>>> a = [10,20,30]
>>> len(a)
3
成员资格判断
判断列表中是否存在指定的元素,我们可以使用
count()
方法,返回0则表示不存在,返回 大于 0 则表示存在。
但是,一般我们会使用更加简洁的 in 关键字来判断,直接返回True
或False
。
>>> a = [10,20,30,40,50,20,30,20,30]
>>> 20 in a
True
>>> 100 not in a
True
>>> 30 not in a
False
切片操作 slice
我们在前面学习字符串时,学习过字符串的切片操作,对于列表的切片操作和字符串类似。 切片是Python序列及其重要的操作,适用于列表、元组、字符串等等。
切片的格式如下:
切片 slice 操作 可以让我们快速提取子列表或修改。标准格式为:
[起始偏移量start:终止偏移量end[:步长 step]]
注:当步长省略时顺便可以省略第二个冒号
典型操作(三个量为正数的情况)如下:
其他操作(三个量为负数)的情况:
切片操作时,起始偏移量 和 终止偏移量不在 [0,字符串长度-1]
这个范围,也不会报错。
起始 偏移量小于0
则会当做0
,终止偏移量大于
“长度-1
”会被当成”长度-1
”。
例如:
>>> [10,20,30,40][1:30]
[20, 30, 40]
我们发现正常输出了结果,没有报错。