學習python第八節課 元組(tuple)

2021-10-10 10:36:59 字數 3903 閱讀 6495

五、為什麼python的元組看起來很多餘?

六、元組的常見操作

tup1 =(1

,2,3

,4)tup2 =(1

,)

lst =[1

,2,3

]tup =

tuple

(lst)

lst2 =

list

(tup)

思考:如果想要儲存多個資料,但是這些資料是不能修改的資料,怎麼做?

答:列表?列表可以一次性儲存多個資料,但是列表中的資料允許更改。

num_list =[10

,20,30

]num_list[0]

=100

乙個元組可以儲存多個資料,元組內的資料是不能修改的。

# 多個資料元組(1)

t1 =(10

,20,30

)# 多個資料元組(2)

t1 =10,

20,30# 單個資料元組(1)

t2 =(10

,)# # 單個資料元組(2)

t2 =

10,

注意:如果定義的元組只有乙個資料,那麼這個資料後面也新增逗號,否則資料型別為唯一的這個資料的資料型別

t2 =(10

,)print

(type

(t2)

)# tuple

t3 =(20

)print

(type

(t3)

)# int

t4 =

('hello'

)print

(type

(t4)

)# str

tup =10,

20,30,

40a,b,c,d = tup

print

('a='

,a)# a=10

print

('b='

,b)# b=20

print

('c='

,c)# c=30

print

('d='

,d)# d=40

tup =10,

20,30,

40a,b = tup

print

('a='

,a)print

('b='

,b)# valueerror: too many values to unpack (expected 2) 報錯原因是值有4個,而key太少了,不夠。

tup =10,

20,30,

40a,b,

*c= tup

print

('a='

,a)# a=10

print

('b='

,b)# b=20

print

('c='

,c)# c= [30, 40]

在對乙個元組進行解包時,變數的梳理需要和元組中的數量保持一致,如果沒有保持一致,我們可以在某乙個變數前面加乙個』*』。這樣變數就會獲取元組中所有剩餘的元素,並以列表形式返回。

1.(

1,2)

*22.

(1,)

*23.

(1)*

2

1.(

1,2,

1,2)

2.(1

,1)3

.2

def

func

(x, y)

:return x, y, x+y

res = func(2,

3)print

(res)

(2,

3,5)

def

func

(*args)

:print

(args,

type

(args)

)func(3,

4,5)

lst1 =[3

,5,6

,1,2

,4,7

]lst2 =[6

,5,4

,7,3,8]

lst1 =[3

,5,6

,1,2

,4,7

]lst2 =[6

,5,4

,7,3

,8]res_set =

set(

)for i in lst1:

for j in lst2:

if i + j ==10:

if i > j:

res_set.add(

(j, i)

)else

: res_set.add(

(i, j)

)print

(res_set)

tuple1 =

('aa'

,'bb'

,'cc'

,'bb'

)print

(tuple1[0]

)# aa

tuple1 =

('aa'

,'bb'

,'cc'

,'bb'

)print

(tuple1.index(

'aa'))

# 0

tuple1 =

('aa'

,'bb'

,'cc'

,'bb'

)print

(tuple1.count(

'bb'))

# 2

tuple1 =

('aa'

,'bb'

,'cc'

,'bb'

)print

(len

(tuple1)

)# 4

注意:元組內的直接資料如果修改則立即報錯

tuple1 =

('aa'

,'bb'

,'cc'

,'bb'

)tuple1[0]

='aaa'

但是如果元組裡面有列表,修改列表裡面的資料則是支援的,故自覺很重要。

tuple2 =(10

,20,[

'aa'

,'bb'

,'cc'],

50,30)

print

(tuple2[2]

)# 訪問到列表

tuple2[2]

[0]=

'aaaaa'

print

(tuple2)

# 結果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)

第八節 函式

函式的特性 減少 重複 使程式變得可擴充套件 使程式變得易維護 乙個函式只做一件事情 變數作用域 python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在 賦值的。變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是 以 l...

第八節課 面對物件

目錄 1.面對物件和面對過程的區別 2.面對對想的程式設計思維步驟 3.實際操作 4.細節為題 5.佔位 6.設定返回值 7.時間庫 面對物件 更符合人們的生活習慣 python 支援面對物件,函式式程式設計。一.面對物件和面對過程的區別 面對物件 找媒介解決 面對過程 自己解決 二.面對物件的程式...

python第八節(函式2)

內建函式 map zip 返回1 10的奇數列表 for i in range 1,10,2 print i li for i in range 1,10 if i 2 1 print i print li filter 過濾 defis odd n return n 2 1print list f...