1. 程式人生 > 其它 >Python基礎入門:列表與元組

Python基礎入門:列表與元組

技術標籤:Studypython

學習目標:

掌握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-阿里雲天池"