Python 學習之 tuple

1、什麼是 tuple(元組)

tuple 和 List 非常類似,但是 tuple 一旦初始化就不能修改。
元組(tuple) 不可變是指當你創建了 tuple 時候,它就不能改變了,也就是說它也沒有 append(),insert() 這樣的方法,但它也有獲取某個索引值的方法,但是不能賦值。
建議能用 tuple 代替 list 就儘量用 tuple 。

2. 創建 tuple(元組)

元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。

tuple1=('兩點水','twowter','liangdianshui',123,456)

特殊:

  • 創建空元組
tuple2=()
  • 元組中只包含一個元素時,需要在元素後面添加逗號
tuple3=(123,)

如果不加逗號,創建出來的就不是 元組(tuple),而是指 123 這個數了。
這是因爲括號 () 既可以表示元組(tuple),又可以表示數學公式中的小括號,這就產生了歧義。
所以如果只有一個元素時,你不加逗號,計算機就根本沒法識別你是要進行整數或者小數運算還是表示元組。
因此,Python 規定,這種情況下,按小括號進行計算,計算結果自然是 123 ,而如果你要表示元組的時候,就需要加個逗號。

3. 訪問 tuple(元組)

元組下標索引也是從 0 開始,元組(tuple)可以使用下標索引來訪問元組中的值。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' tuple '

__author__ = 'Kevin Gong'

tuple1=('兩點水','twowter','liangdianshui',123,456)
tuple2='兩點水','twowter','liangdianshui',123,456

print(tuple1[1])
print(tuple2[3])

結果:

twowter
123

4、修改 tuple(元組)

元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,還有通過修改其他列表的值從而影響 tuple 的值。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' tuple '

__author__ = 'Kevin Gong'

list1=[123,456]
tuple1=('兩點水','twowater','liangdianshui',list1)
print(tuple1)
list1[0]=789
list1[1]=100
print(tuple1)

結果:

('兩點水', 'twowater', 'liangdianshui', [123, 456])
('兩點水', 'twowater', 'liangdianshui', [789, 100])

說明:tuple 一開始指向的 list 並沒有改成別的 list,所以,tuple 所謂的“不變”是說,tuple 的每個元素,指向永遠不變。注意是 tupe1 中的第四個元素還是指向原來的 list ,是沒有變的,我們修改的只是列表 List 裏面的元素。

5、刪除 tuple (元組)

tuple 元組中的元素值是不允許刪除的,但我們可以使用 del 語句來刪除整個元組:

tuple1=('兩點水','twowter','liangdianshui',[123,456])
print(tuple1)
del tuple1

6、tuple (元組)運算符

在這裏插入圖片描述

7、tuple (元組)內置函數

在這裏插入圖片描述

8、實例

code:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' tuple '

__author__ = 'Kevin Gong'

name1 = ('一點水', '兩點水', '三點水', '四點水', '五點水')

name2 = ('1點水', '2點水', '3點水', '4點水', '5點水')

list1 = [1, 2, 3, 4, 5]

# 計算元素個數
print(len(name1))
# 連接,兩個元組相加
print(name1 + name2)
# 複製元組
print(name1 * 2)
# 元素是否存在 (name1 這個元組中是否含有一點水這個元素)
print('一點水' in name1)
# 元素的最大值
print(max(name2))
# 元素的最小值
print(min(name2))
# 將列表轉換爲元組
print(tuple(list1))

結果:

5
('一點水', '兩點水', '三點水', '四點水', '五點水', '1點水', '2點水', '3點水', '4點水', '5點水')
('一點水', '兩點水', '三點水', '四點水', '五點水', '一點水', '兩點水', '三點水', '四點水', '五點
水')
True
5點水
1點水
(1, 2, 3, 4, 5)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章