Python序列之三言两语

        序列(sequence)是具有先后关系的一组元素。

  • 一维元素向量,元素类型可以不同。
  • 类似数学元素序列:Python序列之三言两语Python序列之三言两语,...,Python序列之三言两语
  • 元素由序号引导,通过下标访问特定元素

1、序列类型及操作

       序列作为基类,衍生字符串、列表、元组等数据类型,彼此间有共性也有独特的操作能力,其元素均存在正向递增,反向递减序号的索引关系。

Python序列之三言两语

        1.1 通用操作符

操作符 含义
x in s 若x是序列s的元素,返回True,否则返回False
x not in s 若x是序列s的元素,返回False,否则返回True
s1+s2 连接两个序列s1和s2

s*n或n*s

将序列s复制n次
s[i] 索引,返回序列s中的第i个元素,i为序号
s[i:j]或s[i:j:k] 切片,返回序列s中从序号i到j(不包括j)(以k为步长)的元素子序列

        示例:

#序列

>>>s=['China',123,'.gov']
>>>'China' in s
True

>>>'china' not in s
True

>>>s*2
['China', 123, '.gov', 'China', 123, '.gov']

>>>s[2]
'.gov'

>>>s[::-1]
['.gov', 123, 'China']

>>>s='China.gov'
>>>s[::-1]
'vog.anihC'

>>>s=('China',123,'.gov')
>>>s[::-1]
('.gov', 123, 'China')

        1.2 通用函数

函数 含义
len(s) 返回序列s的长度
min(s) 返回序列s的最小元素,s中元素需要可比较
max(s) 返回序列s的最大元素,s中元素需要可比较

s.index(x)

s.index(x,i,j)

返回序列s从i开始到j(不包含j)位置中第一次出现元素x的位置

s.count(x) 返回序列s中x出现的总次数

        示例:

#通用函数

>>>s='China.gov'
>>>len(s)
9

>>>min(s)
'.'

>>>max(s)
'v'

>>>s.index('o')
7

>>>s.index('o',1,7)
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    s.index('o',1,7)
ValueError: substring not found

>>>s.count('a')
1

2、元组类型及操作

        元组(tuple)是序列类型之一,具有以下特点:

  • 一旦创建即不能被修改
  • 使用小括号()或tuple()创建,元素间以逗号分隔
  • 可以不使用小括号()
  • 元组中只包含一个元素时,需在元素后面添加逗号,否则括号会被当作运算符使用
#元组

>>>t=(123,456)
>>>t
(123, 456)

>>>t=tuple('abcde')
>>>t
('a', 'b', 'c', 'd', 'e')

>>>creature='dog','cat','monkey','human'
>>>creature
('dog', 'cat', 'monkey', 'human')

>>>color=(0x001000,'red',creature)
>>>color
(4096, 'red', ('dog', 'cat', 'monkey', 'human'))

>>>t=(123)
>>>type(t)
<class 'int'>

>>>t=(123,)
>>>type(t)
<class 'tuple'>

        元组继承了序列的全部操作,其自身没有独特的操作。

>>>creature='dog','cat','monkey','human'
>>>creature[::-1]
('human', 'monkey', 'cat', 'dog')

>>>color=(0x001000,'red',creature)
>>>color[-1][2]
'monkey'

3、列表类型及操作

        列表(list)亦是序列类型之一,是最常用的Python数据类型,具有以下特点:

  • 创建后可以随意被修改
  • 使用方括号[]或list()创建,元素间以逗号分隔
  • 列表中各元素类型可以不同,无长度限制
  • 列表中可以只包含一个元素
#列表

>>>creature=['dog','cat','monkey','human']
>>>creature
['dog', 'cat', 'monkey', 'human']

>>>creature=['dog']
>>>creature
['dog']

        列表同样继承了序列的全部操作,但有其独特的操作函数。

函数 含义
ls[i]=x 替换列表ls第i元素为x
ls[i,l,k]=lt 用列表lt替换列表ls切片后所对应元素子列表
del ls[i] 删除列表ls第i元素
del ls[i,l,k] 删除列表ls第i到第j步长为k的元素
ls+=lt 更新列表ls,将列表lt中元素增加到ls之后
ls*=n 更新列表ls,其元素重复n次

        示例:

>>>creature=['dog','cat','monkey','human']
>>>creature[2]='tiger'
>>>creature
['dog', 'cat', 'tiger', 'human']

>>>creature[::-1]
['human', 'tiger', 'cat', 'dog']

>>>del creature[2]
>>>creature
['dog', 'cat', 'human']

>>>color=['red','yellow','green']
>>>creature[1:2]=color
>>>creature
['dog', 'red', 'yellow', 'green', 'human']

>>>creature+=color
>>>creature
['dog', 'red', 'yellow', 'green', 'human', 'red', 'yellow', 'green']

上一篇:没想到吧?这货比 open 更适合读取文件


下一篇:python_setattr_learning