「元組」定義語法為:(元素1, 元素2, ..., 元素n)
與列表不同,元組是(),列表是。
t1 =(1
,10.31
,'python'
)t2 =1,
10.31
,'python'
print
(t1,
type
(t1)
)# (1, 10.31, 'python')
print
(t2,
type
(t2)
)# (1, 10.31, 'python')
tuple1 =(1
,2,3
,4,5
,6,7
,8)print
(tuple1[1]
)# 2
print
(tuple1[5:
])# (6, 7, 8)
print
(tuple1[:5
])# (1, 2, 3, 4, 5)
tuple2 = tuple1[:]
print
(tuple2)
# (1, 2, 3, 4, 5, 6, 7, 8)
【例子】
temp =(1
)print
(type
(temp))#
temp =2,
3,4,
5print
(type
(temp))#
temp =
print
(type
(temp))#
temp =()
print
(type
(temp))#
temp =(1
,)print
(type
(temp)
)#
【例子】
print(8
*(8)
)# 64
print(8
*(8,
))# (8, 8, 8, 8, 8, 8, 8, 8)
【例子】當然也可以建立二維元組:
nested =(1
,10.31
,'python'),
('data',11
)print
(nested)
# ((1, 10.31, 'python'), ('data', 11))
【例子】元組中可以用整數來對它進行索引 (indexing) 和切片 (slicing),不嚴謹的講,前者是獲取單個元素,後者是獲取一組元素。接著上面二維元組的例子,先看看索引的**。
print
(nested[0]
)# (1, 10.31, 'python')
print
(nested[0]
[0], nested[0]
[1], nested[0]
[2])
# 1 10.31 python
【例子】再看看切片的**。
print
(nested[0]
[0:2
])# (1, 10.31)
【例子】
week =
('monday'
,'tuesday'
,'thursday'
,'friday'
)week = week[:2
]+('wednesday',)
+ week[2:
]print
(week)
# ('monday', 'tuesday', 'wednesday', 'thursday', 'friday')
【例子】
t1 =(1
,2,3
,[4,
5,6]
)print
(t1)
# (1, 2, 3, [4, 5, 6])
t1[3][
0]=9
print
(t1)
# (1, 2, 3, [9, 5, 6])
元組有不可更改 (immutable) 的性質,因此不能直接給元組的元素賦值,但是只要元組中的元素可更改 (mutable),那麼我們可以直接更改其元素,注意這跟賦值其元素不同。
【例子】元組拼接 (concatenate) 有兩種方式,用「加號 +」和「乘號 *」,前者首尾拼接,後者複製拼接。
t1 =(2
,3,4
,5)t2 =
('老馬的程式人生'
,'小馬的程式人生'
)t3 = t1 + t2
print
(t3)
# (2, 3, 4, 5, '老馬的程式人生', '小馬的程式人生')
t4 = t2 *
2print
(t4)
# ('老馬的程式人生', '小馬的程式人生', '老馬的程式人生', '小馬的程式人生')
元組大小和內容都不可更改,因此只有count
和index
兩種方法。
【例子】
t =(1
,10.31
,'python'
)print
(t.count(
'python'))
# 1print
(t.index(
10.31))
# 1
【例子】解壓(unpack)一維元組(有幾個元素左邊括號定義幾個變數)
t =(1
,10.31
,'python'
)(a, b, c)
= tprint
(a, b, c)
# 1 10.31 python
【例子】解壓二維元組(按照元組裡的元組結構來定義變數)
t =(1
,10.31,(
'ok'
,'python'))
(a, b,
(c, d)
)= t
print
(a, b, c, d)
# 1 10.31 ok python
【例子】如果你只想要元組其中幾個元素,用萬用字元「*」,英文叫 wildcard,在計算機語言中代表乙個或多個元素。下例就是把多個元素丟給了rest
變數。
t =1,
2,3,
4,5a, b,
*rest, c = t
print
(a, b, c)
# 1 2 5
print
(rest)
# [3, 4]
【例子】如果你根本不在乎 rest 變數,那麼就用萬用字元「*」加上下劃線「_」。
a, b,
*_ = t
print
(a, b)
# 1 2
Datawhale組隊學習Pandas
下面直接展示內聯 片。備註內容為學習後的感想與總結 author xuxt time 2020 12 14l def my func x return 2 x for i in range 5 l.my func i print l 定義 我的函式 輸入x,返回,2x,即輸入1,2,3,4,5可以得...
Datawhale組隊學習 Task01 02
這兩天主要學習的內容如下 task01 線性回歸 softmax與分類模型 多層感知機 1天 task02 文字預處理 語言模型 迴圈神經網路基礎 1天 num epochs 3for epoch in range 1 num epochs 1 for x,y in data iter output...
Datawhale公益AI組隊學習Task3 5
一類是模型無法得到較低的訓練誤差,我們將這一現象稱作欠擬合 underfitting 另一類是模型的訓練誤差遠小於它在測試資料集上的誤差,我們稱該現象為過擬合 overfitting 在實踐中,我們要盡可能同時應對欠擬合和過擬合。雖然有很多因素可能導致這兩種擬合問題,在這裡我們重點討論兩個因素 模型...