1. 序列类型
1.1 序列类型基本知识
序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
由于元素之间存在顺序关系,所以序列中可以存在数值相同但是位置不同的元素。序列类型支持成员关系操作符(in)、长度计算操作符(len())、分片([]),元素本身也可以是序列类型。
Python语言中有很多数据类型都是序列类型,其中比较重要的是str(字符串)、tuple (元组)和list (列表)。字符串(str) 可以看成是单一字符的有序组合,属于序列类型。同时,由于字符串类型十分常用且单一字符串只表达一个含义,也被看作是基本数据类型。
元组是包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除。列表则是一个可以修改数据项的序列类型,使用也最灵活。无论哪种具体数据类型,只要它是序列类型,都可以使用相同的索引体系,即正向递增序号和反向递减序号。
1.2 序列类型的通用操作符和函数
操作符 | 描述 |
---|---|
x in s | 如果x是s的元素,则返回True;否则返回False |
x not in s | 与第一个相反 |
s+t | 连接s和t |
s*n | 将序列s复制n次 |
s[i] | 索引,返回序列的第i个元素 |
s[i:j] | 分片,返回s中**[i,j)**个元素,注意不包括j |
s[i:j:k] | 步骤分片,返回包含序列s第i个到第j个元素以k为步长的子序列 |
len(s) | 序列s元素的长度 |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x[,i[,j]]) | 序列s中从i开始到j位置中第一次出现元素x的元素 |
s.count(x) | 序列s中出现x的总次数 |
1.2.调试情况
>>> s = 'a','b','c','d','e'
>>> 'a' in s
True
>>> 'a' not in s
False
>>> t = 'q','w','e'
>>> s+t
['a', 'b', 'c', 'd', 'e', 'q', 'w', 'e']
>>> s*3
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
>>> s[2]
'c'
>>> s[0:3]
['a', 'b', 'c']
>>> s[0:3:2]
['a', 'c']
>>> len(s)
5
>>> min(s)
'a'
>>> max(s) #此处是比较ascll所对应的十进制的大小
'e'
>>> s.index('a')
0
>>> s.count('b')
1
1.3 元组
元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。
通过循环遍历结合math库,可以求出多个坐标值到原点的距离:
>>> import math
>>> for x, y in ((1,1),(2,6)):
print(math.hypot(x,y))
1.4142135623730951
6.324555320336759
2. 列表类型
2.1 列表类型的基本概念
列表(list) 是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。
由于列表属于序列类型,所以列表也支持成员关系操作符(in)、 长度计算函数(len()、分片([])。 列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(<. <=、==、!=、>=)进行比较,列表的比较实际上是单个数据项的逐个比较。
列表用中括号([]) 表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。
>>> list('dream')
['d', 'r', 'e', 'a', 'm']
>>> list()
[]
此外,简单将一个列表赋值给另一个列表不会生成新的列表对象
2.2 列表类型特有的函数或方法
函数或方法 | 描述 |
---|---|
ls[i]=x | 替换ls中第i项为x |
ls[i:j]=lt | 用列表lt替换ls中第i到第j项数据 |
del ls[i:j] | 删除ls第i到第j项数据 |
ls += lt/ls.extend(lt) | 将列表lt增加到ls中 |
ls.qppend(x) | 在列表最后增加一个元素x |
ls.clear | 清除ls中所有元素 |
ls.copy | 生成一个新列表,复制ls中所有元素 |
ls.insert(i,x) | 在列表的第i位置增加元素x |
ls.pop(i) | 将列表ls中的第i项元素提取出来并删除 |
ls.remove(x) | 将列表中出现的第一个元素x删除 |
ls.reverse(x) | 列表ls中的元素反转 |
2.2.调试情况
>>> a = list('dream')
>>> a.pop(0)
'd'
>>> a
['r', 'e', 'a', 'm']
>>> a[0]='d'
>>> a
['d', 'e', 'a', 'm']
>>> a[1:3]=['d']
>>> a
['d', 'd', 'm'] #python不要求两个列表的长度一样,但遵循“多增少减”的原则,这样,可以通过赋给更多或更少元素实现对列表元素的插入和删除
>>> for s in a:
print(s,end="")
ddm #与元组一样,列表可以通过for-in语句对其元素进行遍历
3. 小结
上文讲述的是元组与列表,关于字典和集合,将在下一篇文章详细介绍
转载:https://blog.csdn.net/Ultimate_dream/article/details/105961342