Python基礎入門:列表與元組
學習目標:
掌握Python基礎知識
學習內容:
1、 列表
2、 元組
學習產出:
1.1.列表的概念
列表是有序集合,沒有固定大小,能夠儲存任意數量任意型別的 Python 物件,
語法為 :[元素1, 元素2, …, 元素n]。
逗號將每個元素一一分開,中括號把所有元素綁在一起
1.2.列表的建立
建立一個普通列表
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x)
建立一個混合列表
mix = [1, 'lsgo', 3.14, [1, 2, 3]] print(mix)
建立一個空列表
empty = []
print(empty)
1.3.列表的元素增加
list.append(obj) 在列表末尾新增新的物件,只接受一個引數,引數可以是任何資料型別,被追加的元素在 list 中保持著原結構型別。
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] x.append('Thursday') print(x) #也可以新增一個列表到另外一個列表中 x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] x.append(['Thursday', 'Sunday']) #x.extend(['Thursday', 'Sunday']),是在末尾追加 #x.insert(2, 'Sunday'),按照指定下標位置追加 print(x)
1.4.列表的元素刪除
list.remove(obj) 移除列表中某個值的第一個匹配項
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.remove('Monday')
# x.pop()也可以刪除,預設刪除最後一個,可以指定下標
print(x)
1.5.列表的元素獲取
通過元素的索引值,從列表獲取單個元素,注意,列表索引值是從0開始的。
通過將索引指定為-1,可讓Python返回最後一個列表元素,索引 -2 返回倒數第二個列表元素,以此類推。
x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']] print(x[0], type(x[0])) print(x[-1], type(x[-1])) print(x[-2], type(x[-2])) #也可以使用這種方式,代表遍歷整個列表 print(x[:])
1.6.列表的常用操作符
等號操作符:==
連線操作符 +
重複操作符 *
成員關係操作符 in、not in
「等號 ==」,只有成員、成員位置都相同時才返回True。
列表拼接有兩種方式,用「加號 +」和「乘號 *」,前者首尾拼接,後者複製拼接。
list1 = [123, 456]
list2 = [456, 123]
list3 = [123, 456]
list4 = list1 + list2 # extend()
print(list4)
需要注意的是,前面三種方法(append, extend, insert)可對列表增加元素,它們沒有返回值,是直接修改了原資料物件。 而將兩個list相加,需要建立新的 list 物件,從而需要消耗額外的記憶體,特別是當 list 較大時,儘量不要使用 “+” 來新增list
1.7.列表的其他方法
list.count(obj) 統計某個元素在列表中出現的次數
list.index(x[, start[, end]]) 從列表中找出某個值第一個匹配項的索引位置
list.reverse() 反向列表中元素
list.sort(key=None, reverse=False) 對原列表進行排序
2.1.元組的概念
「元組」定義語法為:(元素1, 元素2, …, 元素n)
小括號把所有元素綁在一起
逗號將每個元素一一分開
2.2.建立元組
Python 的元組與列表類似,不同之處在於tuple被建立後就不能對其進行修改,類似字串。
元組使用小括號,列表使用方括號。
元組與列表類似,也用整數來對它進行索引 (indexing) 和切片 (slicing)
t1 = (1, 10.31, 'python')
#第二種寫法
t2 = 1, 10.31, 'python'
print(t1)
建立元組可以用小括號 (),也可以什麼都不用,為了可讀性,建議還是用 ()。 元組中只包含一個元素時,需要在元素後面新增逗號,否則括號會被當作運算子使用
#建立二維元組
x = (1, 10.31, 'python'), ('data', 11)
print(x)
2.3.更新/刪除元組
元組有不可更改 (immutable) 的性質,因此不能直接給元組的元素賦值,但是隻要元組中的元素可更改 (mutable),那麼我們可以直接更改其元素,注意這跟賦值其元素不同
week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
week = week[:2] + ('Wednesday',) + week[2:]
print(week) # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
2.4.元組的內建方法
count(‘python’) 是記錄在元組 t 中該元素出現幾次,顯然是 1 次
index(10.31) 是找到該元素在元組 t 的索引,顯然是 1
2.5.解壓元組
解壓(unpack)一維元組(有幾個元素左邊括號定義幾個變數)
t = (1, 10.31, 'python')
(a, b, c) = t
print(a, b, c)
# 1 10.31 python
解壓二維元組(按照元組裡的元組結構來定義變數)
t = (1, 10.31, ('OK', 'python'))
(a, b, (c, d)) = t
print(a, b, c, d)
資料及程式碼源於"AI訓練營Python-阿里雲天池"