python中的序列有以下几种:
- 列表
- 元组
- 字典
- 集合
- 字符串
序列是存放多个数据的数据类型,一个序列就好比一个大箱子,能连续地盛放好多个东西,而且在python中,序列里存放的东西数据类型可以不同。本篇文章会介绍序列的通用用法(⚠️其中集合和字典不能使用索引、切片、相加和相乘的操作)。
序列还可以嵌套哦,例:
a=[[1,2,3],[2,3,4]]
目录
1.索引(index)
1.1什么是索引
序列中每个数据叫做元素,索引就是每个元素的编号,在一些其他语言中叫做下标。python中的索引是从0开始的(大部分语言都是)。
1.2.python中序列的索引
讲个笑话:一位程序员要去十楼,但他按下了9...
一个序列中,最左边的元素(也就是第一个元素)索引从0开始,从左往右依次加1。也就是说:第一个元素索引是0,第二个元素索引是1,第三个元素索引是2…以此类推,第n个元素索引是n-1。
python中的序列还有个神奇之处:索引可以是负数。负数的索引开始是-1,从右往左依次减1,也就是:第n个元素(最后一个元素)负数索引是-1,第n-1个元素的负数索引是-2…以此类推,第一个元素的负数索引是-(n-1)
1.3.举例说明
>>> mylist=["a","b","c","d","e"]
>>> print(mylist[0])
a
>>> print(mylist[3])
d
如果索引超出了序列范围就会:
>>> mylist=["a","b","c","d","e"]
>>> print(mylist[5])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
2.切片
2.1
python中切片是一种高级索引,可以使用切片的方式获取序列中多个值。语法格式如下:
(s是列表)
s[起始索引:终点索引:间隔]
seq = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> seq[:5]
[1, 2, 3, 4, 5]
#获取索引从0~4的值
>>> seq[5:]
[6, 7, 8, 9, 10]
#获取索引从5开始到最后的值
>>> seq[3:7]
[4, 5, 6, 7]
#获取索引3~6的值
>>> seq[0:8:2]
[1, 3, 5, 7]
#索引从0~7中,各个索引间隔是2,并获取索引对应值(索引:0,2,4,6)
Python中的序列切片操作,如果冒号前的起始索引没给出,默认为0;如果冒号后面的终止索引没给出,默认为序列长度;间隔默认为1
2.2
Python的序列切片操作中,如果索引超出范围不会报错,如果起始和终止索引都不存在,就返回空列表
>>> seq[100:1000]
[]
3.相加
python中的序列可以通过"+"拼接在一起,举例:
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c=a+b
>>> c
[1, 2, 3, 4, 5, 6]
4.序列乘法
4.1
Python序列可以通过"*"把一个序列的值复制n次。
>>> a=[2]
>>> a*6
[2, 2, 2, 2, 2, 2]
4.2
也可以迅速创建指定长度的空序列。
>>> a=6*[None]
>>> a
[None, None, None, None, None, None]
5.判断元素是否在列表中
如果要判断的元素为n,序列为seq,可以用in这个关键字。
n in seq
如果n在seq中,返回True,否则返回False。
>>> a=[1,2,3,4,5]
>>> if 3 in a:
... print("3在a里")
...
3在a里
6.内置函数
6.1 len函数
len是length的缩写,该函数的参数是序列,作用是获取序列长度
>>> a=[1,2,3,4,5]
>>> len(a)
5
6.2 max函数
作用是获取序列中的最大值
>>> a=[1,2,3,4,5]
>>> max(a)
5
6.3 min函数
作用是获取序列中的最小值
>>> a=[1,2,3,4,5]
>>> min(a)
1
以上是Python中各种序列的通用操作,还有list函数,str函数等能转换序列类型,用法相似