溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python列表的使用方法有哪些

發(fā)布時間:2021-11-23 11:44:50 來源:億速云 閱讀:228 作者:iii 欄目:大數(shù)據

本篇內容介紹了“Python列表的使用方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、列表簡介

(1) 什么是列表

列表由一系列按特定順序排列的元素組成。這些元素可以是:數(shù)字、字母、字符串等其它類型的數(shù)據。在 Python 中,用方括號 [ ] 來表示列表,并用逗號來分隔其中的元素。下面是一個簡單的列表示例:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", 
			 "Friday", "Saturday", "Sunday"]
print(week_list)

如果你使用print()函數(shù), Python 將打印列表的內部表示,包括方括號:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

如果你想直接輸出列表里的每個元素,那么就得學習如何訪問列表的元素。

(2) 訪問列表元素

列表是有序集合,因此要訪問列表的任何元素,只需知道該元素在列表中的位置即可。要訪問列表元素,可指出列表的名稱,再指出元素的索引,并將其放在方括號內。例如,我們要獲取上面列表中的Friday:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(Week_list[4])

以上演示了訪問列表元素的語法。當你請求獲取列表元素時, Python 只返回該元素值,而不包括方括號和引號:

Friday

當然,如果你想依次輸出列表中的每一個元素,可以通過for實現(xiàn):

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
for day in Week_list:
    print(day)

通過for循環(huán)遍歷列表,依次輸出每一個元素:

Monday
Tuseday
Wednseday
Thursday
Friday
Saturday
Sunday

(3) 嵌套列表

嵌套列表即在列表里創(chuàng)建其它列表,例如:

list1 = [1, 2, 3]
list2 = ["曹操", "孫權", "劉備"]
list = [list1, list2]
print(list)

嵌套列表相當于列表里的元素是列表:

[[1, 2, 3], ['曹操', '孫權', '劉備']]

當想要取列表里的一個元素時,比如“曹操”,就需要學習索引的用法。

二、 索引、切分與列表復制

(1) 索引

索引值與元素的位置有關。在 Python 中,第一個列表元素的索引為 0 ,而不是 1 。根據這種簡單的計數(shù)方式,要訪問列表的任何元素,都可將其位置減 1 ,并將結果作為索引。例如,要訪問第10個列表元素,可使用索引 9。

對于普通的列表,當我們想訪問其第5個元素時:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(Week_list[4])

程序輸入:

Friday

對于潛逃列表,當我們想訪問其中的元素,比如上面列表中的“曹操”,則通過如下方式:

list = [[1, 2, 3], ['曹操', '孫權', '劉備']]
print(list[1][0])

程序輸入:

曹操

其中,list[1][0]中的索引值1表示取第二個列表,索引值0表示取第二個列表中的第一個元素。

(2) 切片

通過索引可以訪問單個列表元素,通過切片則可以處理列表的全部或部分元素。要創(chuàng)建切片,可指定要使用的第一個元素和最后一個元素的索引。主要注意的是:Python 在到達你指定的第二個索引前面的元素后停止。
1.例如:要輸出列表中的前三個元素,需要指定索引 0~3 ,這將輸出分別為 0 、 1 和 2 的元素。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[0:3])

通過切片取列表的前三個元素:

['Monday', 'Tuseday', 'Wednseday']

2.你也可以獲取列表的任何子集,例如,如果你要提取列表的第 2~6 個元素,可將起始索引指定為 1 ,并將終止索引指定為 6 :

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[1:6])

輸出周二至周六:

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

3.如果沒有指定第一個索引, Python 將自動從列表開頭開始:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[:6])

輸出周一至周六:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

4.如果想取從第 3 個元素到列表末尾的所有元素,也可以通過如下方式:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[2:])

返回周三至周天:

['Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

5.如果要遍歷列表的部分元素,則可在 for 循環(huán)中使用切片。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
for day in Week_list[:3]:
    print(day)

遍歷列表1至3個元素,并輸出:

Monday
Tuseday
Wednseday

(3) 列表復制

在開發(fā)過程中,我們經常需要根據既有列表創(chuàng)建全新的列表。下面來介紹復制列表的工作原理,以及復制列表可提供極大幫助的一種情形。

要復制列表,可創(chuàng)建一個包含整個列表的切片,方法是同時省略起始索引和終止索引 [ : ] 。這讓 Python 創(chuàng)建一個始于第一個元素,終止于最后一個元素的切片,即復制整個列表。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_copy1 = Week_list
Week_list_copy2 = Week_list[:]
print("Week_list:", id(Week_list))
print("Week_list_copy1:", id(Week_list_copy1))
print("Week_list_copy2:", id(Week_list_copy2))

我們通過采用和不采用 [ : ]的兩種方式進行復制,得到列表的id如下:

Week_list: 298963473096
Week_list_copy1: 298963473096
Week_list_copy2: 298963418440

從結果可以看出:Week_list_copy1與原列表Week_list的id相同,說明Week_list_copy1和原列表指向的是同一個列表;Week_list_copy2與原列表Week_list的id不同,說明通過 [ : ] 的方式復制,創(chuàng)建的才是一個新的列表。

三、列表元素個數(shù)、最大值、最小值、轉換

在Python中,包含一些內置函數(shù),可以輕松處理像列表這一類型的數(shù)據。

(1) 返回元素個數(shù)

對于普通列表,返回列表元素的個數(shù):

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(len(Week_list))

程序輸出:

7

對于嵌套列表,返回列表中列表的個數(shù):

list = [[1, 2, 3], ['曹操', '孫權', '劉備']]
print(len(list))

程序輸出:

2

(2) 返回元素最大值

max() 方法返回列表元素中的最大值:

list1, list2 = ['Google', 'Baidu', 'Taobao'], [1, 2, 3]
print("list1 最大元素值 : ", max(list1))
print("list2 最大元素值 : ", max(list2))

輸出列表中元素的最大值:

list1 最大元素值 :  Taobao
list2 最大元素值 :  3

(3) 返回元素最小值

min() 方法返回列表元素中的最小值:

list1, list2 = ['Google', 'Baidu', 'Taobao'], [1, 2, 3]
print("list1 最小元素值 : ", min(list1))
print("list2 最小元素值 : ", min(list2))

輸出列表中元素的最小值:

list1 最小元素值 :  Baidu
list2 最小元素值 :  1

(4) 將元組轉換成列表

list() 方法用于將元組或字符串轉換為列表:

str = "Hello Python"
list2 = list(str)
print("列表元素 : ", list2)

Tuple = (123, 'Google', 'baidu', 'Taobao')
list1 = list(Tuple)
print("列表元素 : ", list1)

程序結果:

列表元素 :  ['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']
列表元素 :  [123, 'Google', 'baidu', 'Taobao']

注:元組與列表是非常類似的,區(qū)別在于元組的元素值不能修改,元組是放在括號中,列表是放于方括號中。

四、修改、添加和刪除操作

(1) 修改列表元素

修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定該元素的新值。比如下面,我們將列表中的第一個值:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list[0] = "星期一"
print(Week_list)

將列表中的Monday改為“星期一”:

['星期一', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

當然,你可以修改任何列表元素的值,而不僅僅是第一個元素的值。

(2) 在列表末尾添加元素

在列表中添加新元素時,最簡單的方式是使用append()將元素添加到列表末尾:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list.append(100)
print(Week_list)

將100添加到列表末尾:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 100]

使用append() 能很輕松地創(chuàng)建列表,例如,你可以先創(chuàng)建一個空列表,再使用一系列的 append() 語句添加元素。下面來創(chuàng)建一個空列表,再在其中添加元素:

Week_list = []
Week_list.append(1)
Week_list.append(2)
Week_list.append(3)
print(Week_list)

程序輸出:

[1, 2, 3]

(3) 在列表中插入元素

使用方法 insert() 可在列表的任何位置添加新元素。為此,你需要指定新元素的索引和值:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list.insert(0, 100)
print(Week_list)

在列表開頭添加100:

[100, 'Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

(4) 刪除列表元素

在數(shù)據處理過程中,我們經常需要從列表中刪除一個或多個元素。Python提供了4中刪除列表中元素的方法:

1.使用 del 語句刪除元素。如果知道要刪除的元素在列表中的位置,可使用 del 語句。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
del Week_list[0]
print(Week_list)

刪除列表中第一個元素:

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

2.使用方法 pop() 刪除元素。方法 pop() 可刪除列表末尾的元素,并讓你能夠接著使用它。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.pop()
print(Week_list)

刪除列表中最后一個元素:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

3.刪除列表中任何位置處的元素。 實際上,使用 pop() 也可以刪除列表中任何位置的元素,只需在括號中指定要刪除的元素的索引即可。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.pop(1)
print(Week_list)

刪除列表中第二個元素:

['Monday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

注:如果你不確定該使用 del 語句還是 pop() 方法,下面是一個簡單的判斷標準:如果你要從列表中刪除一個元素,且不再以任何方式使用它,就使用 del 語句;如果你要在刪除元素后還能繼續(xù)使用它,就使用方法 pop() 。

4.根據值刪除元素。有時候,你不知道要從列表中刪除的值所處的位置。如果你只知道要刪除的元素的值,可使用方法 remove() 。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.remove("Monday")
print(Week_list)

刪除列表中的元素"Monday":

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

注:remove() 刪除的是列表中某個值的第一個匹配項

五、列表操作符

(1) 拼接操作符

在Python,+ 也可作為拼接操作符,將不同列表拼接成一個列表:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)

拼接成一個列表后:

[1, 2, 3, 4, 5, 6]

(2) 復制操作符

使用 * 操作符,可以輕松實現(xiàn)列表元素的復制:

list = [1, 2, 3]
print(list * 2)

將列表中所有元素復制到2倍:

[1, 2, 3, 1, 2, 3]

同樣地道理,也可以復制多倍。

六、列表排序

在實際開發(fā)過程中,有時候你希望保留列表元素最初的排列順序,而有時候又需要調整排列順序。 Python 提供了很多組織列表的方式,可根據具體情況選用。

(1) 永久性排序sort()

sort() 讓你能夠較為輕松地對列表進行排序,下面對列表中的元素按照字母進行排序:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.sort()
print(Week_list)

通過 sort()進行排序,是永久性地改變原列表中元素的順序:

['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuseday', 'Wednseday']

當要降序排序時,只需向 sort() 方法傳遞參數(shù) reverse=True,如下所示:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.sort(reverse=True)
print(Week_list)

降序排序結果如下所示:

['Wednseday', 'Tuseday', 'Thursday', 'Sunday', 'Saturday', 'Monday', 'Friday']

(2) 臨時性排序sorted()

有時候想對列表進行排序,又需要時保留原列表元素的順序,就可以使用sorted()函數(shù)。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_sorted = sorted(Week_list)
print(Week_list_sorted)
print(Week_list)

比較排序后的輸結果:

['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuseday', 'Wednseday']
['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

可以看出:sorted() 并沒有改變原列表中元素的順序。

七、其他成員函數(shù)

(1) 統(tǒng)計某元素出現(xiàn)的次數(shù)count()

count() 方法用于統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)。比如:

list = [1, 2, 2, 2, 3]
print("列表中2的個數(shù):", list.count(2))

運行結果:

列表中2的個數(shù): 3

(2) 從列表中找出某個值第一個匹配項的索引位置index()

index() 函數(shù)用于從列表中找出某個值第一個匹配項的索引位置。比如找出列表中的2的索引:

list = [1, 2, 2, 2, 3]
print("列表中2第一次出現(xiàn)的索引:", list.index(2))

運行結果:

列表中2第一次出現(xiàn)的索引: 1

另外,也可以指定從列表某個位置開始搜索:

list = [1, 2, 2, 2, 3, 2, 3]
print("從第五個元素開始,列表中2第一次出現(xiàn)的索引:", list.index(2, 4))

從索引值為4的元素開始搜索,結果為:

從第五個元素開始,列表中2第一次出現(xiàn)的索引: 5

(3) 反向列表中元素reverse()

reverse() 函數(shù)用于反向列表中元素。當我們要反向輸出列表中元素時:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.reverse()
print(Week_list)

顛倒列表中元素的位置后,輸出結果為:

['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednseday', 'Tuseday', 'Monday']

(4) 清空列表clear()

clear() 函數(shù)用于清空列表,類似于 del a[:]。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.clear()
print ("列表清空后 : ", Week_list)

列表清空后:

列表清空后 :  []

(5) 復制列表copy()

copy() 函數(shù)用于復制列表,類似于前面講到的通過索引[:]復制的方式。

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_copy1 = Week_list.copy()
print("Week_list:", id(Week_list))
print("Week_list_copy():", id(Week_list_copy1))

運行結果:

Week_list: 250643256008
Week_list_copy(): 250643201352

可以看出:使用copy()函數(shù)復制的方式與通過[:]復制的方式類似,都是創(chuàng)建了一個新的列表。

“Python列表的使用方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI