Python元組的定義及使用
1、前言
在Python
中元組是一個和列表非常類似的數(shù)據(jù)類型,不同之處就是列表中的元素可以修改,而元組之中的元素不可以修改。
2、定義和使用元組
2.1 定義
定義元素通常使用小括號()字面量語法,示例代碼如下:
tuple1 = ("Hello", "一碗周", "你好") print(type(tuple1)) # 查看元組類型 <class 'tuple'> print(tuple1) # ('Hello', '一碗周', '你好')
2.2 使用
元組支持的運算符和使用方法和列表是一樣的,示例代碼如下:
tuple1 = ("Hello", "一碗周", "掘金", "開發(fā)者", "strive") tuple2 = (10, 20, 60, 34) # 拼接 tuple3 = tuple1 + tuple2 print(tuple3) # ('Hello', '一碗周', '掘金', '開發(fā)者', '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 一碗周 掘金 開發(fā)者 strive ''' # 成員運算 print("一碗周" in tuple1) # True print("掘金" not in tuple1) # False
一個空()
表示空元組,一個元組中有兩個元素,稱之為二元組,有五個就成稱為五元組,但是如果里面為('hello')
則不是元組,這個括號就變成了改變優(yōu)先級的圓括號了;如要想要使其變成圓括號,就要加上一個逗號,,否則就不是代表一元組了。
示例代碼如下:
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、元組的應(yīng)用場景
3.1 打包和解包
把多個用逗號分隔的值賦給一個變量時,多個值會打包成一個元組類型;把一個元組賦值給多個變量時,元組會解包成多個值然后分別賦給對應(yīng)的變量,
示例代碼如下:
t = "Hello", "一碗周", "掘金", "開發(fā)者", "strive" print(type(t)) # <class 'tuple'> print(t) # ('Hello', '一碗周', '掘金', '開發(fā)者', 'strive') x, y, z, i, j = t print(x, y, z, i, j) # Hello 一碗周 掘金 開發(fā)者 strive
如果在解包時,元素的個數(shù)和變量的個數(shù)不一致,就引起錯誤,就比如下面這段代碼
t= ("Hello", "一碗周", "掘金", "開發(fā)者", "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解包的值太多
解決變量少于元組個數(shù)這個錯誤的方法是使用*通配符,有了這個通配符一個變量就可以接收多個值,就將某個變個變成了一個列表,這個通配符只能出現(xiàn)一次,
示例代碼如下:
t = ("Hello", "一碗周", "掘金", "開發(fā)者", "strive") x, y, *z = t print(x, y, z) # Hello 一碗周 ['掘金', '開發(fā)者', 'strive'] x, *y, z = t print(x, y, z) # Hello ['一碗周', '掘金', '開發(fā)者'] strive *x, y, z = t print(x, y, z) # ['Hello', '一碗周', '掘金'] 開發(fā)者 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 讓函數(shù)返回多個值
如果return
語句中有兩個值,這兩個值會組裝成一個二元組然后返回。所以調(diào)用定義的函數(shù)會得到這個二元組,也可以通過解包語法將二元組中的兩個值分別賦給兩個變量。
到此這篇關(guān)于Python元組的定義及使用的文章就介紹到這了,更多相關(guān)Python元組定義及使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
appium+python自動化配置(adk、jdk、node.js)
這篇文章主要介紹了appium+python自動化配置(adk、jdk、node.js),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-11-11Python 實現(xiàn)數(shù)據(jù)結(jié)構(gòu)-堆棧和隊列的操作方法
隊、棧和鏈表一樣,在數(shù)據(jù)結(jié)構(gòu)中非常基礎(chǔ)一種數(shù)據(jù)結(jié)構(gòu),同樣他們也有各種各樣、五花八門的變形和實現(xiàn)方式。這篇文章主要介紹了Python 實現(xiàn)數(shù)據(jù)結(jié)構(gòu)-堆棧和隊列的操作方法,需要的朋友可以參考下2019-07-07