基本的数据类型--序列(sequence)

1. 概述

在Python中最基本的数据类型为序列(sequence)

序列中的每一个元素都有编号,即元素的位置或称之为索引,第一个元素的索引值为0,第二个元素的索引的值为1,以此类推

Python中的列表、元组、字符串都属于序列,其中列表是可变的(可以修改其中的元素),元组和字符串是不可变的(一旦创建内容就是固定的)

2. 通用的序列操作

 2.1  索引

序列中的所有元素都有编号-----从0开始递增

>>> name = 'zhaoxuehui'
>>> name[1]
'h'


当使用负数索引值时,Python将从右至左查找元素

>>> name = 'zhaoxuehui'
>>> name[-1]
'i'
 

当然也无需必须将序列赋值给变量,可以直接对其进行操作

>>> 'zhao'[2]
'a'
 

如果函数调用返回一个序列,可以直接对其直接操作

>>> name = input("what's your name:")[1]
what's your name:zhaoxuehui
>>> name
'h'
 

2.2 切片

2.2.1常规切片

可以使用切片来访问特定范围内的元素,使用两个索引,并用冒号分隔

>>> name = 'zhaoxuehui'
>>> name[0 : 4]
'zhao'

>>> name[-6 : -3]
'xue'

>>> name[ : 4]
'zhao'

>>> name[-3 : ]
'hui'

>>> name[ : ]
'zhaoxuehui'

2.2.2 步长

执行切片操作的时候,会显示或隐式的指定起点或终点,但通常会省略另一个参数,即步长。在普通切片中默认步长为1,这意味着从一个元素移到下一个元素,因此切片就会包含起点和终点之间的所有元素

>>> name[0:10:1]
'zhaoxuehui'


如果步长大于1,将跳过一些元素,例如,步长为2时,将从起点和终点之间每隔一个元素提取一个元素

>>> name[0 : 10 : 2]
'zaxeu'

>>> name[3 : 6 : 3]
'o'

>>> name[ : : 3]
'zoei'
 

步长不能为0,否则无法向前移动,但可以为负数,即从右至左提取元素

>>> name[10 : 0 : -1]
'iuheuxoah'

>>> name[::-1]
'iuheuxoahz'

>>> name[0 : 10 : -1]
' '

>>> name[5 : : -1]
'uxoahz'


>>> name[ : 5 : -1]
'iuhe'
 

2.3 序列相加

可以使用加法运算符拼接相同类型的序列

>>> [1,2,3] + [4,5]
[1, 2, 3, 4, 5]

>>> 'zhao' + 'xue' + 'hui'
'zhaoxuehui'

2.4 乘法

序列与数字x相乘时,将重复这个序列x次来创建一个新序列


>>> 'zhao' * 3
'zhaozhaozhao'


>>> [1,2,3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
 

2.5 成员资格

检查值是否包含在序列中,可以使用运算符in,检查是否满足条件,并返回相应的值,满足时返回True,不满足时返回False

>>> name = 'zhaoxuehui'
>>> 'zhao' in name
True


>>> 'a' in ['a','b']
True

原文地址:https://www.cnblogs.com/zhao1126/p/9556496.html