Python 基础03 序列
sequence 序列
sequence(序列) 是一组有顺序的元素的集合
(严格的说,是对象的集合,但鉴于我们还没有引入"对象" 概念,暂时说元素)
序列可以包含一个或多个元素,也就是没有任何元素。
我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。
序列有两种:tuple(定值表/元组) 和list (表)
>>> sl = (2,1,3,'love', 5.6, False) # sl 是一个tuple
>>>s2 = [True,5,'smile'] # s2 是一个list
tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。
一个序列作为另一个序列的元素
元素的引用
序列元素的下标从0开始:
>>>print(sl[0])
print(s2[2])
print(s3[1][]2)
由于list的元素可以变更,你可以对list的某个元素赋值:
>>>s2[1] = 3.0
>>>print(s2)
其他引用方式
范围引用: 基本样式[下限:上限:步长]
>>>print(sl[:5]) # 从开始到下标4(下标5的元素 不包括在内)
>>>print(sl[2:]) # 从下标2到最后
>>>print(sl[0:5:2]) #从小标0到小标4 (下标5不包括在内),每隔2取一个元素(下标0,2,4 的元素)
>>>print(sl[2:0:-1]) #从下标2到下标1
从上面可以看到,在范围应用的时候,如果写明上限,那么这个上限本身不包括在内。
尾部元素引用
>>>print(sl[-1]) # 序列最后一个元素
>>>print(sl[-3]) # 序列倒数第三个元素
同样 ,如果sl[0:-1] 那么最后一个元素不会被引用(再一次,不包括上限元素本身)
字符串是元组
字符串是一种特殊的元组,因此可以执行元组的相关操作。
>>>str = 'abcdef'
>>>print(str[2:4])
总结tuple 元素不可变,list元素可变
序列的引用s[2],s[1:8:2]
字符串是一种tuple