網站首頁 編程語言 正文
前言:
本文的主要內容是介紹Python中的列表及其方法的使用,涉及到的方法包括對列表元素進行修改、添加、刪除、排序以及求列表長度等,此外還介紹了列表的遍歷、數值列表、切片和元組的一些操作,文中附有代碼以及相應的運行結果輔助理解。
一、列表簡介
列表由一系列按特定順序排列的元素組成,它能夠在一個地方存儲成組的信息,其中元素的個數可以只有幾個,也可以有數百萬個。
在Python中,用方括號來表示列表,并用逗號來分隔其中的元素,每個元素用單引號(也可以是雙引號)括起來。
下面的代碼就是一個簡單的列表示例:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
嘗試打印一下列表,代碼如下:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print(fruits)
輸出結果如下圖:
可以看到,如果簡單的打印列表,其輸出結果就包含方括號、引號、元素名稱和逗號,這不是期待的輸出,下面來介紹怎么訪問列表元素。
二、訪問列表元素
列表是一個有序的集合,因此要訪問列表中的任何一個元素,只要給出列表的名稱,再給出該元素的索引并將其放在方括號內,即可實現訪問。
在Python中,索引是從0開始的,元素的索引均是其位置減1。
如果不知道列表的長度,但要訪問最后一個元素,只要將索引指定為-1,Python即可返回最后一個列表元素,同理,索引為-2可返回倒數第二個列表元素。
下面是訪問列表元素的例子:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print("The first element of fruits is "+fruits[0]+".") print("The second element of fruits is "+fruits[1]+".") print("The last element of fruits is "+fruits[-1]+".") #訪問最后一個列表元素
輸出結果如下圖所示:
三、修改、添加和刪除列表元素
1.修改列表元素
修改列表元素只要指定列表名和要修改的元素的索引,再賦值給該元素新值即可。
下面是修改列表元素的例子:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print('Before modify:\nfruits = '+str(fruits)) fruits[1] = 'mango' #修改第二個元素 print('After modify:\nfruits = '+str(fruits))
輸出結果如下圖所示:
2.在列表中添加元素
在列表中添加元素有以下兩個方法:
- append(value) —— 在列表末尾添加元素。
- insert(index,value) —— 在列表指定的位置添加元素。
方法append()
通過追加的方式在列表的末尾插入元素,這很方便,但是有時候需要在列表指定的位置插入某個元素,這時就需要用到方法insert()
,將元素插入到指定的位置后,原列表中該位置之后的元素索引均加1,該位置之前的元素索引不變。
在列表中添加元素的例子:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print('Original:\nfruits = '+str(fruits)) fruits.append('mango') print('After append:\nfruits = '+str(fruits)) fruits.insert(2, 'watermelon') print('After insert:\nfruits = '+str(fruits))
輸出結果如下圖所示:
3.從列表中刪除元素
從列表中刪除元素有以下三個方法:
- del listname[index] —— 從列表中刪除一個元素,且不再使用。
- pop(index) —— 從列表中刪除一個元素,后續還會再使用。
- remove(‘element name’) —— 不知道要從列表中刪除的值所處的位置,但知道要刪除元素的值。
如果要從列表中刪除一個元素,且不再以任何方式使用它,就使用del語句;如果要在刪除元素后還能繼續使用它,就使用方法pop();如果只知道要刪除的元素的值,就使用方法remove(),方法remove()只刪除第一個指定的值,如果要刪除的值可能在列表中出現多次,就需要使用循環來判斷是否刪除了所有這樣的值。
刪除掉某一元素后,該元素之后的元素索引均減1,該元素之前的元素索引不變。
下面是從列表中刪除元素的例子:
fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'apple', 'pear', 'mango'] print('Original:\nfruits = '+str(fruits)) del fruits[2] ?#刪除列表的第三個元素 print('After del:\nfruits = '+str(fruits)) fruit_popped = fruits.pop(-1) ?#刪除列表的最后一個元素 print('After pop:\nfruits = '+str(fruits)) print('The popped fruit is ' + fruit_popped + '.') fruit_remove = 'apple' fruits.remove(fruit_remove) #刪除列表中名為fruit_remove的第一個元素 print('After remove:\nfruits = '+str(fruits)) print('The removed fruit is ' + fruit_remove + '.')
輸出結果如下圖所示:
四、對列表元素排序
對列表元素排序有以下三個方法:
- sort() —— 對列表進行永久性排序。
- sorted() —— 對列表進行臨時排序。
- reverse() —— 反轉列表元素的排列順序。
下面是使用sort()對列表元素排序的例子:
fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango'] print('原列表:\nfruits = '+str(fruits)) fruits.sort() #按首字母順序 print('順序排列:\nfruits = '+str(fruits)) fruits.sort(reverse=True) #按首字母倒序 print('倒序排列:\nfruits = '+str(fruits))
輸出結果如下圖所示:
下面是使用sorted()對列表元素排序的例子:
num = ['1', '8', '6', '4', '9'] #這里的列表元素不加引號也可 print('原列表:\nnum = '+str(num)) print('臨時排序:\nnum = '+str(sorted(num))) #臨時排序 print('再一次輸出原列表:\nnum = '+str(num))
輸出結果如下圖所示:
下面是使用reverse()對列表元素排序的例子:
fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango'] print('原列表:\nfruits = '+str(fruits)) fruits.reverse() #逆向排列列表元素 print('逆向排列:\nfruits = '+str(fruits))
輸出結果如下圖所示:
五、確定列表長度
確定列表長度的方法如下:
- len() —— 求列表長度。
下面是確定列表長度的例子:
fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango'] print('列表 fruits 的長度為:'+str(len(fruits))) num = ['1', '8', '6', '4', '9'] print('列表 num 的長度為:'+str(len(num)))
輸出結果如下圖所示:
六、遍歷列表
在Python中,如果需要對列表中的每個元素都執行相同的操作,可使用for循環。下面是遍歷整個列表的例子,注意for循環中各代碼行的縮進,縮進不同,執行的次數也不同。
fruits = ['grapes', 'apples', 'bananas', 'oranges', 'pears'] for fruit in fruits: ? ? print(fruit) ? ? print('I like '+str(fruit)+'.') #縮進,列表的長度是多少,就執行多少次 print('There are '+str(len(fruits))+' fruits here.') #不縮進,for循環結束后執行,執行1次
輸出結果如下圖所示:
編寫for循環時,用于存儲列表中每個值的臨時變量可以指定任何名稱,一般使用單數和復數式的名稱可幫助我們更好地判斷代碼段處理的是單個列表元素還是整個列表。
七、創建數值列表
列表非常適合用于存儲數字集合,而Python提供了很多工具可幫助我們高效地處理數字列表,下面來看怎么創建數值列表。
1.函數range()的使用
range(start, end, step length) —— 在start到end這個左閉右開區間上生成步長為step length的一系列數字,含start值但不含end值,如果沒有參數step length,默認步長為1。
下面是函數range()使用的例子:
print('1-5之間步長為1的輸出:') for value in range(1,5): ? ? print(value) print('1-5之間步長為2的輸出:') for value in range(1,5,2): ? ? print(value)
輸出結果如下圖所示:
2.創建數字列表
將range()
作為list()
的參數,輸出將為一個數字列表。當然,也可以創建一個空的列表,然后通過for循環將函數range()生成的數依次追加到列表中,這樣也可以生成一個數字列表。
下面是使用函數range()創建數字列表的例子:
nums = list(range(1,5)) #直接使用函數list()創建列表 print('方法一:nums = '+str(nums)) nums=[] ?#通過for循環創建列表 for value in range(1,5): ? ? nums.append(value) print('方法二:nums = '+str(nums))
輸出結果如下圖所示:
可以看到,這兩種方法的輸出結果是一樣的。
3.列表解析
列表解析是將for循環和創建新元素的代碼合并成一行,并自動附加新元素。
下面通過一個例子了解列表解析:
squares = [] for value in range(1,11): ? ? squares.append(value**2) print('一般方法:squares = ' + str(squares)) squares = [value**2 for value in range(1,11)] #列表解析 print('列表解析法:squares = ' + str(squares))
輸出結果如下圖所示:
由輸出結果可知,雖然兩者的輸出結果相同,但是列表解析能夠有效的縮減代碼的行數。
4.處理數字列表的函數應用
下面是幾個專門用于處理數字列表的Python函數:
- min() —— 求列表最小值。
- max() —— 求列表最大值。
- sum() —— 求列表元素之和。
下面是這幾個函數應用的例子:
nums = [value for value in range(1,11)] print('nums = ' + str(nums)) print('列表nums中的最小值為:' + str(min(nums))) print('列表nums中的最大值為:' + str(max(nums))) print('列表nums的所有元素之和為:' + str(sum(nums)))
輸出結果如下圖所示:
八、切片
創建切片需要指定要使用的第一個元素和最后一個元素的索引,與函數range()類似,Python在到達指定的第二個索引前面的元素后停止??梢造`活運用索引使其從開頭訪問或訪問至列表末尾,甚至從頭至尾復制列表。
下面是切片應用的例子:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print('fruits = '+str(fruits)) print('列表fruits的前三個元素:'+str(fruits[:3])) print('列表fruits的后三個元素:'+str(fruits[-3:])) print('列表fruits的全部元素:'+str(fruits[:])) #復制列表 print('遍歷列表fruits的前三個元素:') for fruit in fruits[0:3]: ?#遍歷列表fruits的前三個元素 ? ? print(fruit)
輸出結果如下圖所示:
下面這個例子用來區分切片和列表關聯的區別:
fruits = ['grape', 'apple', 'banana', 'orange', 'pear'] print('Original fruits = '+str(fruits)) fruits_1 = fruits[:] ?#復制列表 fruits_2 = fruits #列表fruits和fruits_2相關聯 fruits.append('mango') fruits_2.append('watermelon') print('After append fruits = '+str(fruits)) print('fruits_1 = '+str(fruits_1)) print('fruits_2 = '+str(fruits_2))
輸出結果如下圖所示:
由輸出結果可以看到,復制列表和關聯列表的區別還蠻大的,復制列表之后,原列表再更改也和已經復制到的列表無關,但是兩個列表關聯后,無論哪個列表變動都會同步到另一個列表,因為兩個變量都指向了同一個列表。
九、元組
列表非常適合用于存儲在程序運行期間可能變化的數據集,然而,有時候我們需要創建一系列不可修改的元素,元組可以滿足這種需求。
Python將不能修改的值稱為不可變的,而不可變的列表被稱為元組。元組和列表類似又有區別,它使用的是圓括號而不是方括號來標識,定義元組后,就可以使用索引像訪問列表元素一樣來訪問元組。
在Python中,不能給元組的元素賦值,修改元組的操作是被禁止的,但可以給存儲元組的變量賦值。
下面是元組應用的例子:
group = (100, 50) print('group = '+str(group)) print('打印元組內元素:') print(group[0]) print(group[1]) #打印元組中的各個元素 print('遍歷元組:') for element in group: #遍歷元組 ? ? print(element) print('修改元組變量后輸出:') group = (200, 100) #修改元組變量,給元組賦新值 for element in group: ? ? print(element)
輸出結果如下圖所示:
總結:
以上就是Python中列表及其操作的所有內容了,文中提到的一些方法都是對列表的簡單操作,應當多加練習牢記,并在之后的編程中熟練使用。
原文鏈接:https://blog.csdn.net/weixin_42570192/article/details/123520973
相關推薦
- 2024-01-29 使用 Maven 進行項目構建:深入了解 `mvn clean install -U` 命令
- 2022-06-22 Android使用http實現注冊登錄功能_Android
- 2023-06-21 python保留小數函數的幾種使用總結_python
- 2022-03-03 實現不需要手動浮空瀏覽器緩存,程序可以獲取最新版本
- 2022-06-07 ASP.NET?Core依賴關系注入_基礎應用
- 2022-03-31 QT實現單詞檢索軟件的示例代碼_C 語言
- 2022-05-17 ubuntu解決虛擬機Ubuntu連接不了網絡(親測)
- 2022-10-25 Go語言實戰學習之流程控制詳解_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支