Python 3.1 快速導覽 - 內建串列型態 (list)

串列 (list) 屬於可變 (mutable) 的序列 (sequence) 型態,可進行以下序列通用的計算

計算描述
x in s判斷 x 是否在 s 中
x not in s判斷 x 是否不在 s 中
s + t連接 s 及 t
s * n, n * s將 s 重複 n 次連接 s 本身
s[i]取得索引值 i 的元素
s[i:j]取得索引值 i 到 j 的子序列
s[i:j:k]取得索引值 i 到 j ,間隔 k 的子序列
len(s)回傳 s 的元素個數
min(s)回傳 s 中的最小值
max(s)回傳 s 中的最大值
s.index(i)取得 s 中第一次出現 i 的索引值
s.count(i)累計 s 中 i 出現的個數


由於串列是可變的複合資料型態 (compound data type) ,也是 Python 中大量運用的工作型態種類,因此有額外以下的計算
計算描述
s[i] = x將索引值 i 的元素指派為 x
s[i:j] = t將索引值 i 到 j 的元素指派為 t , t 為迭代器
del s[i:j]刪除索引值 i 到 j 的元素
s[i:j:k] = t將索引值 i 到 j ,間隔 k 的元素指派為 t , t 為迭代器
del s[i:j:k]刪除索引值 i 到 j ,間隔 k 的元素
串列綜合運算 list comprehension運用運算式生成新的串列


串列型態有以下的方法 (method)
方法描述
list.append(x)將 x 附加到 list 的最後
list.extend(x)將 x 中的元素附加到 list 的最後
list.count(x)計算 list 中 x 出現的次數
list.index(x[, i[, j]])回傳 x 在 list 最小的索引值
list.insert(i, x)將 x 插入 list 索引值 i 的地方
list.pop([i])取出 list 中索引值為 i 的元素,預設是最後一個
list.remove(x)移除 list 中第一個 x 元素
list.reverse()倒轉 list 中元素的順序
list.sort([key[, reverse]])排序 list 中的元素


串列是用中括號為起來的複合資料型態,裡頭的元素以逗號分開,舉例示範如下
a = [3, 6, 1, 4, 9, 7, 2, 5, 8]

print("a: ", a)
print("6 in a:", 6 in a)
print("6 not in a:", 6 not in a)
print("a + a: ", a + a)
print("a * 2: ", a * 2)
print("a[6]: ", a[6])
del a[6]
print("after del a[6], a: ", a)
a[6] = 13
print("after a[6] = 13, a: ", a)
del a [2:5]
print("after del a[2:5], a: ", a)
a[1:3] = [22, 22, 22]
print("after a[1:3] = 10 , a: ", a)

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:listtype.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月


執行結果如下



中英文術語對照
串列list
可變mutable
序列sequence
方法method


內建型態




1 則留言:

Unknown 提到...

第16行應該是"after a[1:3] = 22"