接上篇掌握Python的X篇_15_list容器的基本使用,本篇进行进一步的介绍。
文章目录
- 1. list的索引下标可以是负数
- 2. 切片(slice)
- 2.1 切片基础知识
- 2.2 如何“取到尽头”
- 2.3 按照步长取元素
- 2.4 逆序取值
- 3. len函数获取lis的元素个数
- 4. in操作符判断元素是否在list中
- 5. 和list类似的数据类型
1. list的索引下标可以是负数
Python中的list中的下标,可以是负数,代表着“倒数第n个”。
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [2]: mylist[-1]
Out[2]: '今天下小雨'
In [3]: mylist[-2]
Out[3]: 123
2. 切片(slice)
2.1 切片基础知识
- 所谓的切片,就是返回list中的一部分(子集)
- 切片(slice)不仅是针对list,而是对Python中所有线性数据结构都可以使用,常用的还是list中
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [4]: mylist2=mylist[0:3]
In [5]: mylist2
Out[5]: [12, 123, 23]
可以看出,对于mylist进行切片操作,实际:
<list变量名>[开始下标 : 结束下标]
会返回,从开始下标到结束下标之间的子集(左闭右开)
2.2 如何“取到尽头”
如果省掉开始或者结束下标,意味着“取到尽头”
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [6]: mylist3 = mylist[1:]
In [7]: mylist3
Out[7]: [123, 23, 123, '今天下小雨']
2.3 按照步长取元素
实际上,对于slice操作,是可以赋值3个数字的,其中步长代表是按照步长去取值
<list>[开始下标:结束下标:步长]
举例:
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [8]: mylist4=mylist[0:4:2]
In [9]: mylist4
Out[9]: [12, 23]
实际上,当我们省掉切片操作的步长时,默认步长为1
2.4 逆序取值
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [10]: mylist5=mylist[4::-1]
In [11]: mylist5
Out[11]: ['今天下小雨', 123, 23, 123, 12]
In [12]: mylist5=mylist[::-1]
In [13]: mylist5
Out[13]: ['今天下小雨', 123, 23, 123, 12]
3. len函数获取lis的元素个数
在Python中有内置函数len,他可以用于确定容器中的元素个数
len(<容器变量名>)
举例:
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [14]: len(mylist)
Out[14]: 5
4. in操作符判断元素是否在list中
使用in操作,可以快速判断list中是否含有某个元素,返回结果是True或者False
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [15]: 123 in mylist
Out[15]: True
In [16]: 66 in mylist
Out[16]: False
5. 和list类似的数据类型
list其实只是序列类型(sequence)
中的一种。
Python中还有其他的序列类型,他们与list类似,也支持len、in、切片等操作
tuple可以看做只可读不可写的list
range和list差不多
以字符串为例,他实际也是list,因此也支持切片等操作
In [17]: mystr = "天色蒙蒙,小雨飘飘,细风阵阵"
In [18]: mystr
Out[18]: '天色蒙蒙,小雨飘飘,细风阵阵'
In [19]: len(mystr)
Out[19]: 14
In [20]: mystr2=mystr[:2:1]
In [21]: mystr2
Out[21]: '天色'
6.学习视频:list的切片、len和in操作