Python 入門系列 —— 講講Tuple 的 增刪改查 操作
技術標籤:pythonpython深度學習自然語言處理tensorflow
訪問 tuple
可以使用 index 的方式對 tuple 進行訪問,比如下面訪問 tuple 中的第二個元素。
thistuple = ("apple", "banana", "cherry") print(thistuple[1]) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py banana
負數 index
負數索引意味著從後往前計算,比如說: -1 表示最後一項, -2 表示倒數第二項,程式碼如下:
thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])
範圍 index
可以指定一個範圍的 start 和 end 來指定一個 tuple 的 子區間,返回值就是一個新生成的 tuple,如下程式碼所示:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") print(thistuple[2:5]) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py ('cherry', 'orange', 'kiwi')
負數的範圍索引
如果你想從 tuple 的尾部往前進行切割,可以指定負數的 index,如下程式碼所示:
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango") print(thistuple[-4:-1]) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py ('orange', 'kiwi', 'melon')
檢查 item 是否存在
檢查 tuple 中的某一項是否存在,可以使用 in 關鍵詞。
thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
print("Yes, 'apple' is in the fruits tuple")
更新 tuple
tuple 是不可修改的,意味著一旦 tuple 建立好之後,你不能對其進行新增,刪除,修改,但也有一些變通方法。
修改 tuple 值
變通方法就是,可以先將 tuple 轉成 list,然後在 list 上進行修改,最後再將 list 轉成 tuple 即可,如下程式碼所示:
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
('apple', 'kiwi', 'cherry')
tuple中新增 / 刪除
同樣的道理,還是使用 list 作為中間轉換,實現 tuple 的 add / remove 操作,程式碼如下:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
print(thistuple)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
('apple', 'banana', 'cherry', 'orange')
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)
print(thistuple)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
('banana', 'cherry')
肢解 tuple
現在有了一個 tuple,那如何將 tuple 中的值肢解到幾個變數中呢? 這就需要使用 unpacking 操作,程式碼如下:
fruits = ("apple", "banana", "cherry")
(green, yellow, red) = fruits
print(green)
print(yellow)
print(red)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry
tuple 中的 * 操作
如果需要肢解的 tuple 個數大於左邊的變數個數,那麼可以將一個變數宣告成*
,表示將 多餘的 tuple 元素作為一個集合賦給*
號變數,如果不明白的話,參考下面程式碼:
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
print(green)
print(yellow)
print(red)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
['cherry', 'strawberry', 'raspberry']
同樣這個*號變數
也可以指定任意位置,如下程式碼所示:
fruits = ("apple", "mango", "papaya", "pineapple", "cherry")
(green, *tropic, red) = fruits
print(green)
print(tropic)
print(red)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
['mango', 'papaya', 'pineapple']
cherry
tuple 遍歷
遍歷 tuple 通常有兩種做法。
- 使用 for 迴圈
thistuple = ("apple", "banana", "cherry")
for x in thistuple:
print(x)
- 使用 range() + len()
除了簡單粗暴的 for 迴圈,還可以利用下標實現 for 操作,程式碼如下:
thistuple = ("apple", "banana", "cherry")
for i in range(len(thistuple)):
print(thistuple[i])
- 使用 while 迴圈
也可以通過len()
獲取tuple 的長度,然後使用 while 迴圈,不過這裡記得在迴圈的過程中,要記得將下標自增,如下程式碼所示:
thistuple = ("apple", "banana", "cherry")
i = 0
while i < len(thistuple):
print(thistuple[i])
i = i + 1
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry
tuple 合併
合併多個 tuple 也是非常簡單的,通常有二種做法。
-
- 操作
可以直接在兩個 tuple 中使用 + 操作,如下程式碼所示:
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
('a', 'b', 'c', 1, 2, 3)
- x 操作
如果想讓 tuple 中內容重複出現幾次,這個幾次可以使用x num
的操作,這裡的 num 就是幾次的意思,如下程式碼所示:
fruits = ("apple", "banana", "cherry")
mytuple = fruits * 2
print(mytuple)
PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
('apple', 'banana', 'cherry', 'apple', 'banana', 'cherry')
其他的 tuple 方法
除了上面介紹的幾個,tuple 還有如下幾個內建方法。