標籤:lis color ros 集合 strong 16px 多個 倒數 總結
sequence 序列
sequence序列是一組有順序的元素的集合
(嚴格的說,是對象的集合,但鑒於沒有引入對象的概念,暫時說元素)
序列可以包含一個或多個元素,也可以沒有任何元素
我們之前所說的基礎資料型別 (Elementary Data Type),都可以作為序列的元素。元素還可以是另一個序列,以及我們以後的其他對象。
序列有兩種:tuple(定值表:也叫元組);和list(列表)
s1 = (2,1.3,‘love‘,5.6,9,False) #是一個tuple
s2 = [True,5,‘smile‘] #是一個list
print (s1,type(s1))
([True, 5, ‘smile‘], <type ‘tuple‘>)
print (s2,type(s2))
([True, 5, ‘smile‘], <type ‘list‘>)
tuple和list的主要區別在於,一旦建立,tuple的各個元素不可再變更,而list的各個元素可以再變更。
一個序列作為另一個序列的元素
s3 = [1,[3,4,5]]
空序列
s4 = []
元素的引用
序列元素的下標從0開始:
print (s1[01])
1.3
print (s2[2])
smile
print (s1[1][2])
v
由於list的元素可更變,你可以對list進行賦值
s2[1] = 3.0
print (s2)
以上輸出
3.0
如果你對tuple做這樣的操作,會得到錯誤提示。
所以,可以看到,序列的引用通過s[int]實現,int為下標。
其他引用方式(切片)
範圍引用:基本樣式[下限:上限:步長]
print (s1[:5]) #從開始到下標4(下標5的元素不在內)
(2, 1.3, ‘love‘, 5.6, 9)
print (s1[2:]) #從下標2到最後
(‘love‘, 5.6, 9, 12, False)
print (s1[0:5:2]) #從下標0到下標4(下標5不包括),每個2取元素()
(2, ‘love‘, 9)
print (s1[2:0:-1]) #從下標2到下標1
(‘love‘, 1.3)
從上可以看出,在範圍引用的時候,如果寫明上限,那麼這個上限本身不包括在內。
尾部元素引用
print (s1[-1]) #序列最後一個元素
print (s1[-3]) #序列倒數第三個元素
字串是元組
字串是特殊的元組,因此可以執行元組的相關操作。
str = ‘abcdef‘
print (str(2:4))
‘cd‘
總結
tuple元素不可變,list元素可變
序列的引用 s[2],s[1:8:2]
字串是一種tuple
python基礎03序列