tuple和list一樣,可以包含 0 個、1個和任意多個元素。
包含多個元素的 tuple,前面我們已經(jīng)創(chuàng)建過了。
包含 0 個元素的 tuple,也就是空tuple,直接用()
表示:
T = () print(T) # ==> ()
接著,我們創(chuàng)建包含一個元素的tuple。
T = (1) print(T) # ==> 1
這和我們期望的輸出有些差異,為什么包含一個元素的元組打印出來之后沒有小括號,而是只有一個數(shù)字1呢?
回顧一下前面數(shù)字的四則運算。
result = 3 * 4 - 2 print(result) # ==> 10 # 改變優(yōu)先級,先運算減法 result = 3 * (4 - 2) print(result) # ==> 6
可以看到,改變優(yōu)先級我們是通過()
來實現(xiàn)的,這和元組的定義有沖突,這就解釋了前面只有一個元素的元組,為什么打印出來卻得到一個數(shù)字的結(jié)果了。
因為()
既可以表示tuple,又可以作為括號表示運算時的優(yōu)先級,結(jié)果(1)
被Python解釋器計算出結(jié)果 1,導(dǎo)致我們得到的不是tuple,而是整數(shù) 1。
因此,要定義只有一個元素的tuple,需要在元素后面添加一個逗號,
。
T = (1, ) print(T) # ==> (1, )
而對于多個元素的tuple,則加和不加這個逗號,效果是一樣的。
>>> T = (1, 2, 3,) >>> print(T) # ==> (1, 2, 3)
tuple的元素也可以是tuple,請判斷以下定義T的元素中,有多少個tuple。
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
參考答案:
3個
第一個元素(1+2),第三個元素('a'+'b'),計算的結(jié)果分別是數(shù)字3和字符串a(chǎn)b,不是tuple。
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報