今天學委都在寫代碼,寫了很多篇,這次我們講解元組Tuple,不要錯過!
什麼是Tuple
Tuple 是Python特有的一種類型,它有點像清單但是也不完全是。
學委意識到這上面的内容還是過于技術表達:簡單來說元組,可以了解為一組元素的構成的一個小組。比如大學做課題幾個人一組,可以了解為一個元組。(後面想到更好的例子再來更新)。
如果簡單粗暴了解,那麼我們暫且稱tuple為限定長度的list,不會過份!
這是tuple
(1,2,3)
擷取tuple類型資料的元素:
tup = (1,2,3)
tup[0] #擷取第一個下标對應元素
tup[0:2] #擷取子元組
更多操作變種不說了,這個在學委的Python 基礎上篇中講述了。
tuple的增删查改
基本别想了,Python中的元組是不允許篡改。
但是,有個前提,tuple中元素如果非基礎資料類型,也就是引用類型。
那麼我們是有辦法修改它内部狀态的,如下圖:

那麼元組上面能做啥操作?
基本上隻有加法和乘法,效果就是生成擴充的新元組。
有點像1+1 = 11這個意思吧。
學委準備了下面的代碼:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 6:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : tupledemo2.py
# @Project : hello
tup = (3, 3, 3)
# new_tup = tup - tup #TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'
new_tup = tup + tup
print(new_tup)
# 學委還是很喜歡三連的,666
new_tup = tup * 3
print("三連開光過的tuple:", new_tup)
# new_tup = tup / 3 # 不支援下次一定啊!
print("'666' in new_tuple ? ", '666' in new_tup)
讀者可以直接複制運作代碼,學委補充了運作效果圖:
list 轉tuple
前面我們粗暴的把tuple當做限定長度的list了(有些場景可以很有用,比如定長list)。
是以我們有時候也會把list轉成tuple,照樣擷取元素進行業務操作。
下面學委準備了一些代碼展示:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 6:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : tupledemo3.py
# @Project : hello
tup = (3, 3, 3)
new_tup = ([x * 2 for x in tup])
print("加倍過的tuple:", new_tup)
list = [6, 6, 6]
new_tup = tuple(list)
print("把list轉tuple: ", new_tup)
if 6 in new_tup:
print("new_tup has 6 !")
運作效果如下:
總結
除了上面介紹的一些函數,我們還能使用内置的一些函數(max/min等)對tuple進行操作,這些函數也能對string, list 等進行操作,可以關注訂閱後面再單獨總結一下。