Python中的數組——列表


一、列表簡介

List(列表)是 Python 中最基本的數據結構,也是使用最頻繁的數據類型,在其他語言中通常叫做數組。

列表專門用於存儲一串信息,用方括號 [ ] 定義數據,數據之間使用逗號,分隔。

序列中的每個元素都分配一個數字,即是它的位置,或索引。

第一個索引是0,第二個索引是1,依此類推。

列表的數據項不需要具有相同的類型。

下面來簡單定義一個列表。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]

二、列表常用操作

序號 分類 關鍵字 / 函數 / 方法 說明
1 讀取 列表[索引] 從列表中根據索引讀取數據
列表.index("元素") 從列表中找出第一個匹配元素的索引位置
2 增加 列表.insert(索引, 元素) 在指定位置插入數據
列表.append(元素) 在末尾追加數據
列表.extend(列表2) 將列表2 的數據追加到列表
3 修改 列表[索引] = 數據 修改指定索引的數據
4 刪除 del 列表[索引] 刪除指定索引的數據
列表.remove[數據] 刪除第一個出現的指定數據
列表.pop 刪除末尾數據
列表.pop(索引) 刪除指定索引數據
列表.clear 清空列表
5 計算 len(列表) 獲取列表長度
列表.count(元素) 元素在列表中出現的次數
max(列表) 返回列表元素中的最大值
min(列表) 返回列表元素中的最小值
6 排序 列表.sort() 升序排序
列表.sort(reverse=True) 降序排序
列表.reverse() 逆序、反轉

1、列表元素的讀取

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
print(name_list[0])
# zhangsan
print(name_list[-2])
# wangwu
print(name_list[1:])
# ['lisi', 'wangwu', 'zhaoliu']
# 從第2個元素開始截取列表

注意:在訪問列表中的值時,如果超出索引范圍,程序會報錯。如上面的例子,就會報出:

IndexError: list index out of range

index,從列表中找出第一個匹配元素的索引位置。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
print(name_list.index('lisi'))
# 1
print(name_list.index("wangwu", 2, 3))
# 2

index 的第2個和第3個參數分別是查找的起始和結束的位置,左閉右開。

如果查找不到值,就會報值錯誤:

ValueError: 'wangwu' is not in list

2、列表增加

insert,在列表的指定位置插入數據。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.insert(2, 'zhaoliu')
print(name_list)
# ['zhangsan', 'lisi', 'zhaoliu', 'wangwu']

append,在列表的末尾追加數據。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.append('zhaoliu')
print(name_list)
# ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']

extend,在列表的末尾追加另一個列表。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list_2 = ['zhaoliu', 'tianqi']
name_list.extend(name_list_2)
print(name_list)
# ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'tianqi']

3、列表修改

修改列表中指定索引的元素。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list[1] = "zhaoliu"
print(name_list)
# ['zhangsan', 'zhaoliu', 'wangwu']

4、列表的刪除

remove,刪除列表中第一個出現的指定元素。

name_list = ["zhangsan", "lisi", "wangwu", "lisi"]
name_list.remove("lisi")
print(name_list)
# ['zhangsan', 'wangwu', 'lisi']
# 列表中存在多個"lisi",只刪除第一個。

pop,刪除末尾的元素。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.pop()
print(name_list)
# ['zhangsan', 'lisi']

# pop(index) 刪除指定索引元素
name_list.pop(0)
print(name_list)
# ['lisi']

del,刪除指定索引數據。

name_list = ["zhangsan", "lisi", "wangwu"]
del name_list[1]
print(name_list)
# ['zhangsan', 'wangwu']

del 關鍵字本質上是用來將一個變量從內存中刪除的。

如果使用del關鍵字將變量從內存中刪除,后續的代碼就不能再使用這個變量了。

在日常開發中,要從列表刪除數據,建議使用列表提供的方法。

clear,清空列表。

name_list = ["zhangsan", "lisi", "wangwu"]
name_list.clear()
print(name_list)
# []

5、列表的計算比較

len,獲取列表的長度。

name_list = ["zhangsan", "lisi", "wangwu"]
print(len(name_list))
# 3

count,獲取元素在列表中出現的次數。

name_list = ["zhangsan", "lisi", "wangwu", "lisi"]
print(name_list.count("lisi"))
# 2

max,返回列表元素中的最大值。

list1 = [8, 1, 3, 6, 5]
print(max(list1)) 
# 8
list2 = ["abc", "xyz", "jhc", "rtcx"]
print(max(list2)) 
# xyz

min,返回列表元素中的最小值。

list1 = [8, 1, 3, 6, 5]
print(min(list1))
# 1
list2 = ["abc", "xyz", "jhc", "rtcx"]
print(min(list2))
# abc

6、排序

sort,升序排序。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.sort()
print(name_list)
# ['lisi', 'wangwu', 'zhangsan', 'zhaoliu']

sort(reverse=True),降序排序。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.sort(reverse = True)
print(name_list)
# ['zhaoliu', 'zhangsan', 'wangwu', 'lisi']

reverse,逆序、反轉。

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
name_list.reverse()
print(name_list)
# ['zhaoliu', 'wangwu', 'lisi', 'zhangsan']

三、Python列表腳本操作符

組合

num_list = [1, 2, 3] + [4, 5, 6]
print(num_list)
# [1, 2, 3, 4, 5, 6]

重復

str_list = ['Hi!'] * 4
print(str_list)
# ['Hi!', 'Hi!', 'Hi!', 'Hi!']

判斷元素是否存在於列表中

value = 3 in [1, 2, 3]
print(value)
# True

編程的朝聖之路


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM