Python元組的定義及使用

1、前言

Python中元組是一個和列表非常類似的數據類型,不同之處就是列表中的元素可以修改,而元組之中的元素不可以修改。

2、定義和使用元組

2.1 定義

定義元素通常使用小括號()字面量語法,示例代碼如下:

tuple1 = ("Hello", "一碗周", "你好")

print(type(tuple1))  # 查看元組類型  <class 'tuple'>
print(tuple1)  # ('Hello', '一碗周', '你好')

2.2 使用

元組支持的運算符和使用方法和列表是一樣的,示例代碼如下:

tuple1 = ("Hello", "一碗周", "掘金", "開發者", "strive")
tuple2 = (10, 20, 60, 34)

# 拼接
tuple3 = tuple1 + tuple2
print(tuple3)  # ('Hello', '一碗周', '掘金', '開發者', 'strive', 10, 20, 60, 34)
print(tuple2 * 2)  # (10, 20, 60, 34, 10, 20, 60, 34)

# 索引和切片
print(tuple1[1], tuple1[-4])  # 一碗周 一碗周
print(tuple3[:2])  # ('Hello', '一碗周')
print(tuple3[::2])  # ('Hello', '掘金', 'strive', 20, 34)

# 遍歷操作
for ch in tuple1:
    print(ch)
'''
Hello
一碗周
掘金
開發者
strive
'''

# 成員運算
print("一碗周" in tuple1)  # True
print("掘金" not in tuple1)  # False

一個空()表示空元組,一個元組中有兩個元素,稱之為二元組,有五個就成稱為五元組,但是如果裡面為('hello')則不是元組,這個括號就變成瞭改變優先級的圓括號瞭;如要想要使其變成圓括號,就要加上一個逗號,,否則就不是代表一元組瞭。

示例代碼如下:

a = ()
print(type(a))    # <class 'tuple'>
b = ('一碗周')
print(type(b))    # <class 'str'>
c = (100)
print(type(c))    # <class 'int'>
d = ('一碗周', )
print(type(d))    # <class 'tuple'>
e = (100, )
print(type(e))    # <class 'tuple'>

3、元組的應用場景

3.1 打包和解包

把多個用逗號分隔的值賦給一個變量時,多個值會打包成一個元組類型;把一個元組賦值給多個變量時,元組會解包成多個值然後分別賦給對應的變量,

示例代碼如下:

t = "Hello", "一碗周", "掘金", "開發者", "strive"
print(type(t))  # <class 'tuple'>
print(t)  # ('Hello', '一碗周', '掘金', '開發者', 'strive')

x, y, z, i, j = t
print(x, y, z, i, j)  # Hello 一碗周 掘金 開發者 strive

如果在解包時,元素的個數和變量的個數不一致,就引起錯誤,就比如下面這段代碼

t= ("Hello", "一碗周", "掘金", "開發者", "strive")

# x, y, z = t # ValueError: too many values to unpack

x, y, z, i, j, k, l = t # ValueError: not enough values to unpack

ValueError: too many values to unpack解包的值不足

ValueError: not enough values to unpack解包的值太多

解決變量少於元組個數這個錯誤的方法是使用*通配符,有瞭這個通配符一個變量就可以接收多個值,就將某個變個變成瞭一個列表,這個通配符隻能出現一次,

示例代碼如下:

t = ("Hello", "一碗周", "掘金", "開發者", "strive")

x, y, *z = t
print(x, y, z)  # Hello 一碗周 ['掘金', '開發者', 'strive']

x, *y, z = t
print(x, y, z)  # Hello ['一碗周', '掘金', '開發者'] strive

*x, y, z = t
print(x, y, z)  # ['Hello', '一碗周', '掘金'] 開發者 strive

3.2 交換兩個變量的值

Python中,交換兩個變量a和b的值隻需要使用如下所示的代碼

a, b = b, a

同理,如果要將三個變量a、b、c的值互換,即b賦給a,c賦給b,a賦給c,也可以如法炮制。

a, b, c = b, c, a

3.3 讓函數返回多個值

如果return語句中有兩個值,這兩個值會組裝成一個二元組然後返回。所以調用定義的函數會得到這個二元組,也可以通過解包語法將二元組中的兩個值分別賦給兩個變量。

到此這篇關於Python元組的定義及使用的文章就介紹到這瞭,更多相關Python元組定義及使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: