python中元組的使用

2021-10-06 20:49:33 字數 4507 閱讀 5412

我的學習筆記:

markdown真的是乙個很好用的電子筆記,以前總習慣手寫筆記,費時費力,**也不好展現。接觸到csdn這個格式後,又了解了一下markdown這個排版美觀的輸出形式,真的是大愛。我自用的是typora,據了解還有其他的。

重點是可以直接上傳我的學習筆記到csdn超級方便。

因為想學習演算法類知識,所以系統的開始把python在熟悉一下,預計在一周內學完。

​ 列表屬於可變序列,可以修改其中元素。

​ 元祖屬於不可變序列。

>>

> a=(10

,20,30

)>>

> a(10

,20,30

)>>

> a=10,

20,30#不加小括號也可以

>>

> a(10

,20,30

)>>

> b=(20

)>>

> b

20#如果元祖中只有乙個數,後面必須要加逗號。不然會預設為乙個int整數。

>>

> b=(20

,)>>

> b(20

,)

tuple(可迭代的物件)

例如:

>>

> c=

tuple()

#建立乙個空的元祖物件

>>

> c()

>>

> c=

tuple

("abc"

)#把字串轉化為元祖

>>

> c

('a'

,'b'

,'c'

)>>

> c=

tuple

(range(3

))>>

> c(0

,1,2

)>>

> c=

tuple([

2,3,

4])#把列表轉化為元祖

>>

> c(2

,3,4

)

del(刪除物件)

>>

>

del c #刪除元祖c

>>

> c

traceback (most recent call last)

: file ""

, line 1,in

cnameerror: name 'c'

isnot defined

>>

> a=(20

,10,30

,9,8

)>>

> a[3]

9>>

> a[3]

=100

#元祖物件不可修改

traceback (most recent call last)

: file ""

, line 1,in

a[3]

=100

#元祖物件不可修改

typeerror:

'tuple'

object does not support item assignment

>>

>a=

tuple

("asdlkjlkdjflaskdjflaskjdlkasjdkljlkjf"

)>>

> a

('a'

,'s'

,'d'

,'l'

,'k'

,'j'

,'l'

,'k'

,'d'

,'j'

,'f'

,'l'

,'a'

,'s'

,'k'

,'d'

,'j'

,'f'

,'l'

,'a'

,'s'

,'k'

,'j'

,'d'

,'l'

,'k'

,'a'

,'s'

,'j'

,'d'

,'k'

,'l'

,'j'

,'l'

,'k'

,'j'

,'f'

)>>

> a[1:

10]#切片(

's',

'd',

'l',

'k',

'j',

'l',

'k',

'd',

'j')

>>

> a[::

-1]#和列表的訪問一樣

('f'

,'j'

,'k'

,'l'

,'j'

,'l'

,'k'

,'d'

,'j'

,'s'

,'a'

,'k'

,'l'

,'d'

,'j'

,'k'

,'s'

,'a'

,'l'

,'f'

,'j'

,'d'

,'k'

,'s'

,'a'

,'l'

,'f'

,'j'

,'d'

,'k'

,'l'

,'j'

,'k'

,'l'

,'d'

,'s'

,'a'

)>>

> a[:4

]('a',

's',

'd',

'l')

>>

> a=(20

,10,30

,9,8

)>>

>

sorted

(a)[8,

9,10,

20,30]

#sorted()方法生成的是列表物件

>>

> a=1,

20>>

> b=30,

40>>

> a+b#元祖的拼接(1

,20,30

,40)>>

>

len(a)

2>>

>

sum(b)

70>>

>

max(a+b)

40

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

>>

> a=[10

,20,30

]>>

> b=[40

,50,60

]>>

> c=[70

,80,90

]>>

> d=

zip(a,b,c)

>>

>

list

(d)#zip物件轉化為列表[(

10,40,

70),(

20,50,

80),(

30,60,

90)]>>

> d#zip操作後,返回的是乙個zip物件

<

zipobject at 0x02d04238

>

​ 生成器推導使用的是小括號。

​ 通過生成器物件,轉化成列表或者元祖。

​ 使用測試如下:

>>

> s=

(x*2

for x in

range(5

))#x乘以2的操作,迴圈生成0到4這五個數

>>

> s

at 0x02ce47b0

>

>>

>

tuple

(s)(0,

2,4,

6,8)

>>

>

tuple

(s)#生成器只能訪問一次,在訪問就空了,因為是指標原理

()

​ 可以用_ _next _ _( )提取元素

>>

> s=

(x*2

for x in

range(5

))>>

> s.__next__(

)#前後各兩個下劃線

0>>

> s.__next__()2

>>

> s.__next__()4

>>

> s.__next__()6

>>

> s.__next__()8

#指標依次移動

元祖的核心特點:不可變序列

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

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

Python中元組的使用

2 命名元組 注意 元組只有乙個元素時一定要加逗號,例如b 1 b的型別為int a 空元組b 1 c 1,d 1,mm 2,3 print a,type a print b,type b 1 print c,type c 1,print d,type d 1,mm 2,3 a 2 7 b 1,2 ...

python中元組的簡介

t 1,2.3,true,star print t print type t 執行結果為 1,2.3,true,star t1 1,2,3 4 print t1 執行結果為 1,2,3,4 4 t2 hello print type t2 執行結果為 allowusers root westos r...

Python中元組的函式

定義乙個帶欄位名的元組 from collections import namedtuple user namedtuple user name age user user lisi male 12 print user user name lisi male age 12 fields 元組的屬性...