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