久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 熟練掌握Python元組

熟練掌握Python元組

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 05:02:44 1699304564

作為一種通用編程語言,Python已成為各學(xué)術(shù)和工業(yè)領(lǐng)域中最流行的語言之一。

Python擁有強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)集合,例如int、string、list、dict和tuple——一個(gè)大小固定且不可變數(shù)據(jù)序列。

在今天的文章里,千鋒將帶領(lǐng)大家回顧正確使用Python元組的最常用方法。

1.使用索引訪問元組中的單個(gè)元素

創(chuàng)建元組后,有時(shí)需要訪問它的一些值。一種方法是使用基于0的索引對(duì)其進(jìn)行訪問。參見下方示例。值得注意的是,在Python中,使用負(fù)數(shù)以相反的順序索引序列。例如,-1是序列中最后一個(gè)元素的索引。當(dāng)然,如試圖使用范圍之外的索引訪問元素,將看到IndexError(索引錯(cuò)誤)。

>>>tuple_index=(100,'text',False,{1:'five',2:True})>>>tuple_index[0]

100>>>tuple_index[-1]

{1:'five',2:True}>>>tuple_index[2]

False>>>tuple_index[6]

Traceback(mostrecentcalllast):

File"",line1,in

IndexError:tupleindexoutofrange

2.可變?cè)?/p>

雖然一個(gè)元組不能作為一個(gè)對(duì)象整體改變,但如果單個(gè)元素本身是可變的,就可以對(duì)其進(jìn)行更改。參見下方示例。具體來說,修改了tuple(元組)中的list和dict.

>>>mutable_elements=(1,[1,2],{0:'zero',1:'one'})>>>mutable_elements[1].append(3)

>>>mutable_elements

(1,[1,2,3],{0:'zero',1:'one'})>>>mutable_elements[2][2]='two'

>>>mutable_elements

(1,[1,2,3],{0:'zero',1:'one',2:'two'})

3.高級(jí)元組拆包

有時(shí)拆包一個(gè)元組,并不需要訪問所有的單個(gè)元素。對(duì)于那些不重要的元素,可以用下劃線(_)表示。另一種高級(jí)的tuple(元組)拆包技術(shù)是,使用星號(hào)(*)表示tuple(元組)中的元素序列。_和*用法也可以組合使用。

>>>advanced_unpacking0=(1,2,3)

>>>a,_,c=advanced_unpacking0

>>>a

1

>>>c

3>>>advanced_unpacking1=(1,2,3,4,5,11,12,13,14,15)

>>>a,*middle,c=advanced_unpacking1

>>>middle

[2,3,4,5,11,12,13,14]

>>>_,*tail=advanced_unpacking1

>>>tail

[2,3,4,5,11,12,13,14,15]

>>>head,*_=advanced_unpacking1

>>>head

1

4.使用值序列創(chuàng)建元組

創(chuàng)建元組時(shí),需使用逗號(hào)分隔值序列。括號(hào)是可選的,尤其在聲明表達(dá)式不直接的情況下,使用括號(hào)可以提高可讀性。

>>>tuple0=1,4,5

>>>print(tuple0)

(1,4,5)>>>tuple1=(1,2,'three')

>>>print(tuple1)

(1,2,'three')>>>tuple2=(4,7,('a','b'),lambdax:x+1)

>>>print(tuple2)

(4,7,('a','b'),at0x106e98830>)>>>tuple3=()

>>>print(tuple3)

()>>>tuple4='one',

>>>print(tuple4)

('one',)

特殊的情況是:使用一對(duì)括號(hào)創(chuàng)建一個(gè)空tuple(元組);在唯一值后使用逗號(hào)創(chuàng)建單值tuple(元組)。

5.計(jì)算元組中元素的數(shù)量

由于tuple(元組)是一個(gè)序列,所以可使用len()函數(shù)計(jì)算所有元素總數(shù)。另一個(gè)函數(shù)count()也很方便,可用做計(jì)算調(diào)用時(shí)指定的某個(gè)值的個(gè)數(shù)。參見下方示例。

>>>tuple_len=(1,3,'one','three','five')

>>>len(tuple_len)

5>>>tuple_count=(1,1,2,2,2,2,3,3,3)

>>>tuple_count.count(2)

4

>>>tuple_count.count(3)

3

6.使用tuple()函數(shù)創(chuàng)建元組

可使用內(nèi)置tuple()方法創(chuàng)建元組,該方法將iterable(迭代)作為唯一參數(shù)。生成的tuple(元組)將是iterable的迭代項(xiàng)序列。如下示例中,元組分別從str、dict和list生成。

>>>tupletuple5=tuple(['a','b'])

>>>print(tuple5)

('a','b')>>>tupletuple6=tuple('tuple')

>>>print(tuple6)

('t','u','p','l','e')>>>tupletuple7=tuple({'a':1,True:4})

>>>print(tuple7)

('a',True)>>>tupletuple8=tuple((1,'two',[1,2]))

>>>print(tuple8)

(1,'two',[1,2])

7.使用拆包方法訪問元組的單個(gè)元素

使用元組可能經(jīng)常聽到的另一個(gè)概念是tuple(元組)拆包,它允許訪問單個(gè)元素。參見下方示例。

>>>tuple_unpacking=(1,'two',[3,3,3],{'four':4})

>>>a,b,c,d=tuple_unpacking>>>a

1

>>>b

'two'

>>>c

[3,3,3]

>>>d

{'four':4}

8.for循環(huán)中的元組

時(shí)常需要在for循環(huán)中使用元組。由于元組是可迭代的,所以可直接在for循環(huán)中使用,該循環(huán)將迭代元組的單個(gè)元素。或者,如果想應(yīng)用計(jì)數(shù)器,可使用元組內(nèi)置的enumerate()方法。參見下方示例。

>>>tuple_for_loop=('one','two','three')

>>>foriintuple_for_loop:

...print(i)

...

one

two

three>>>for(i,item)inenumerate(tuple_for_loop,start=1):

...print(str(i)+':is'+item)

...

1:isone

2:istwo

3:isthree

9.元組的不可變性

正如本文開頭提到的,元組是一個(gè)不可變值序列。因此,不能改變單個(gè)元素的值。

>>>immut_tuple=(3,5,7)

>>>immut_tuple[0]=1

Traceback(mostrecentcalllast):

File"",line1,in

TypeError:'tuple'objectdoesnotsupportitemassignment

10.元組連接

可使用加號(hào)(+)運(yùn)算符連接多個(gè)元組,來創(chuàng)建一個(gè)新元組?;蛘?,如果想通過多次連接同一元組來創(chuàng)建一個(gè)新的元組,可使用乘法(*)運(yùn)算符。

>>>concat_tuple0=(1,2)+('three',4)+('five',6)

>>>concat_tuple0

(1,2,'three',4,'five',6)>>>concat_tuple1=('odd','event')*4

>>>concat_tuple1

('odd','event','odd','event','odd','event','odd','event')

元組是筆者在Python編程中最喜歡使用的數(shù)據(jù)結(jié)構(gòu)之一,因其便于構(gòu)造和訪問單個(gè)元素。當(dāng)然,請(qǐng)記住元組是不可變的,并且沒有過多的方法,這可能限制其更廣泛的使用,這種情況下,可以考慮使用list或dict。

以上內(nèi)容為大家介紹了熟練掌握Python元組,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python和PHP的區(qū)別

從開發(fā)的角度來看,PHP是面向WEB的語言。PHP應(yīng)用程序更像是一組單獨(dú)的腳本,甚至只是一個(gè)單獨(dú)入口。而Python是多用途語言,也可以用于WEB開發(fā),...詳情>>

2023-11-07 08:02:45
Python爬蟲原理

簡單來說互聯(lián)網(wǎng)是由一個(gè)個(gè)站點(diǎn)和網(wǎng)絡(luò)設(shè)備組成的大網(wǎng),我們通過瀏覽器訪問站點(diǎn),站點(diǎn)把HTML、JS、CSS代碼返回給瀏覽器,這些代碼經(jīng)過瀏覽器解析...詳情>>

2023-11-07 07:33:56
使用Cython為Python編寫更快的C擴(kuò)展

使用Python很有趣,但有時(shí),用它編寫的程序可能很慢。所有的運(yùn)行時(shí)動(dòng)態(tài)調(diào)度會(huì)帶來很大的代價(jià):有時(shí)它比用C或Rust等系統(tǒng)語言編寫的等效代碼慢10...詳情>>

2023-11-07 07:23:08
Python字符串連接

字符串是Python中常用的數(shù)據(jù)類型,在開發(fā)過程中可以對(duì)字符創(chuàng)進(jìn)行截取并與其他字符創(chuàng)進(jìn)行連接。下面小編整理了5種方法完成Python字符創(chuàng)的連接!加...詳情>>

2023-11-07 06:47:08
數(shù)據(jù)科學(xué)中必須了解的Python核心庫

python有三個(gè)核心數(shù)據(jù)科學(xué)庫,在此基礎(chǔ)上還創(chuàng)建了許多其他的庫。這三個(gè)核心數(shù)據(jù)科學(xué)庫分別為:NumpyScipyMatplotlib簡單起見,可以把Numpy視為...詳情>>

2023-11-07 06:39:56