Python 元組的簡述
阿新 • • 發佈:2019-01-11
元組特點:元組是有序的,不能修改。
元組的定義:
(1),通過()來定義:變數名=(1,2,3,4),是以逗號分割,以小括號包圍的序列。
(2), 通過tuple 函式定義:
lst=[1,2,3,4]
a=tuple(lst)
print(a)
結果:
(1,2,3,4)
元組的優點:由於元組不可變,所以遍歷元組比列表要快(較小的效能提升)
1,元組的建立
tup = (1, 2.2, True, 'ka')
print(tup)
print(type(tup))
輸出結果:
(1, 2.2, True, 'ka')
<class 'tuple'>
2,訪問元組
元組的索引和字串以及列表完全一致
tup = (1, 2.2, True, 'ka') ret = tup[1] #2.2 注意索引越界問題 # 通過切片來獲取內容 tup=(1,2.2,True,'hello','趙四','劉能') tup1=tup[0:4:1] #[1,2.2,True,'hello'] # 訪問多維元組 tup = (('zs', 10), ('ls', 11), ('ww', 12)) ret = tup[1][0] print(ret) # ls 先找到內層元組,在獲得裡面對應的值 # 使用多個變數來接受元組中的值 # 注意:變數的個數和元組中的值的個數必須一一對應 name, age, height, weight = ('zs', 23, 1.76, 167) print(name) # zs print(age) # 23 print(height) #1.76 print(weight) # 167
3,修改元組
元組是不可變的,但是如果元素本身是一個可變資料型別的列表,那麼 其巢狀項可以被改變。
tup = ('zs', 'ls', 'ww', ['白骨精', '唐僧'])
tup[3].insert(1,'宋江')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '宋江', '唐僧'])
tup[3].append('宋江')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '宋江', '唐僧', '宋江'])
4,一個逗號的魅力
tup1 = (1) tup2 = (1,) print(type(tup1)) # <class 'int'> print(type(tup2)) # <class 'tuple'>
可以看到沒有逗號,變數就是整數型的,所以這就是一個逗號的魅力
5,tuple 函式
功能與 list 函式基本上是一樣的
# tuple()函式和list()函式
lst = [1, 2, 3]
tup = tuple(lst)
print(tup) # (1, 2, 3)
tup = ('a', 'b', 'c')
ret = list(tup)
print(ret) # ['a', 'b', 'c']
6,元組的方法
因為元組是不可變的,所以方法只有兩種 index 和 count ,用法也與列表一樣
tup = ('a', 'b', 'c', 'a', 'b', 'c', 'g')
ret = tup.index('b')
ret1 = tup.index('a', 2, len(tup))
print(ret, ret1) # 1 3
ret2 = tup.count('a')
print(ret2) # 2
7,元組與字串的區別
(1)、元組和字串都是有序的,不可修改的序列
(2)、元組的元素可以是任何型別,字串的元素只能是字元
(3)、元組的元素長度可以任意,字串的元素長度只能為1