Python 入門筆記7 元組

2021-10-12 20:30:48 字數 3921 閱讀 7065

元組的元素訪問和計數

zip()函式

元組總結

元組屬於不可變序列,不能修改元組中的元素。因此,元組沒有增加元素、修改元素、刪除元素相關的方法。

元組支援如下操作:

索引訪問

切片操作

連線操作

成員關係操作

比較運算操作

計數:元組長度 len()、最大值 max()、最小值 min()、求和 sum()等

通過()建立元組

通過()建立元組。小括號可以省略。

a = (10,20,30) 或者 a = 10,20,30

如果元組只有乙個元素,則必須後面加逗號。這是因為直譯器會把(1)解釋為整數 1,(1,)解釋為元組。

**示例:

>>

> a =(1

,2,3

)>>

>

type

(a)<

class

'tuple'

>

>>

> a =(1

,)>>

>

type

(a)<

class

'tuple'

>

>>

> a =(1

)>>

>

type

(a)<

class

'int'

>

>>

> a =1,

2,3>>

>

type

(a)<

class

'tuple'

>

>>

> a(1

,2,3

)

通過 tuple()建立元組

tuple(可迭代的物件),可以建立元組。

**示例:

>>

> a =

tuple([

1,2,

3])>>

> a(1

,2,3

)>>

>

type

(a)<

class

'tuple'

>

>>

>

tuple

("abcdef")(

'a',

'b',

'c',

'd',

'e',

'f')

>>

>

tuple

(x for x in

range(5

))(0

,1,2

,3,4

)

tuple()可以接收列表、字串、其他序列型別、迭代器等生成元組。

list()可以接收元組、字串、其他序列型別、迭代器等生成列表。

生成器推導式建立元組

從形式上看,生成器推導式與列表推導式類似,只是生成器推導式使用小括號。列表推導式直接生成列表物件,生成器推導式生成的不是列表也不是元組,而是乙個生成器物件。

我們可以通過生成器物件,轉化成列表或者元組。也可以使用生成器物件的__next__()方法進行遍歷,或者直接作為迭代器物件來使用。不管什麼方式使用,元素訪問結束後,如果需要重新訪問其中的元素,必須重新建立該生成器物件。

**示例:

>>

> s =

(x*2

for x in

range(5

))>>

> s

at 0x000001e877e49040

>

>>

>

tuple

(s)(0,

2,4,

6,8)

>>

>

tuple

(s)(

)>>

> s =

(x*2

for x in

range(5

))>>

> s.__next__()0

>>

> s.__next__()2

>>

> s.__next__()4

>>

> s.__next__()6

>>

> s.__next__(

)8

元組的元素不能修改

**示例:

>>

> a =(1

,2,3

,4,5

)>>

> a[1]

=9traceback (most recent call last)

: file ""

, line 1,in

a[1]

=9typeerror:

'tuple'

object does not support item assignment

元組的元素訪問和列表一樣,只不過返回的仍然是元組物件。

**示例:

>>

> a =(1

,2,3

,4,5

)>>

> a[1]

2>>

> a[2:

8](3

,4,5

)>>

> a[1:

7:-1

]()>>

> a[::

-1](

5,4,

3,2,

1)>>

> a[5:

1:-1

](5,

4,3)

列表關於排序的方法 list.sorted()是修改原列表物件,元組沒有該方法。如果要對元組排序,只能使用內建函式 sorted(tupleobj),並生成新的列表物件。

>>

> a =(3

,8,2

,1,4

,5,9

)>>

> b =

sorted

(a)>>

> b[1

,2,3

,4,5

,8,9

]

zip(列表 1,列表 2,…)將多個列表對應位置的元素組合成為元組,並返回這個 zip 物件。

>>

> a =[10

,20,30

]>>

> b =[20

,30,40

]>>

> c =[30

,40,50

]>>

> d =

zip(a,b,c)

>>

>

list

(d)[(10

,20,30

),(20

,30,40

),(30

,40,50

)]>>

> d

<

zipobject at 0x000001e877e4cec0

>

>>

>

tuple

(d)(

)>>

> d =

zip(a,b,c)

>>

>

tuple

(d)((10

,20,30

),(20

,30,40

),(30

,40,50

))

元組的核心特點是:不可變序列。

元組的訪問和處理速度比列表快。

與整數和字串一樣,元組可以作為字典的鍵,列表則永遠不能作為字典的鍵使用。

**示例:

>>

> s =

>>

> s

Python學習筆記 7 元組

python的元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。tuple1 定義乙個空元組 print tuple1 1 和 1 python既可以認為是int型別的數字1,也可以認為是乙個元素的元組。所以在...

Python自娛 7 元組

元組不可變資料型別 元組的元素可變 孫子 根據資料型別決定 元組是不可變的列表,唯讀列表,有索引,可查詢,可迴圈,可切片 元組只有乙個元素的時候要加逗號,否則type不是元組 空元組用tuple 表示 增刪改查tup tup1 tup2 元組不支援修改,可以連線組合方式增加 tup tup x de...

Python學習筆記 7 元組 字典 集合

1.元組簡介 2.字典簡介 3.遍歷字典 4.集合 元組基本介紹 字典的作用和列表類似,都是用來儲存物件的容器 列表儲存資料的效能好,但是查詢資料的效能差,字典正好與之相反 在字典中每乙個元素都有唯一的名字,通過這個唯一的名字可以找到指定的元素 這個唯一的名字我們稱之為key 通過過key可以快速查...