元組的元素訪問和計數
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可以快速查...