五、為什麼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...