您好,登錄后才能下訂單哦!
這篇文章主要介紹“python中的list方法怎么使用”,在日常操作中,相信很多人在python中的list方法怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中的list方法怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
介紹: list 是 Python 中的一種內置數據類型,代表一個可變的有序序列。list 類型的對象可以使用多個方法來操作和修改其中的元素。 list: 列表 Built-in mutable sequence. 內置可變的序列 定義列表的時候使用的是[ ], 也可以包含多個不同類型的元素,多個元素之間也是用逗號分隔
list_data = [1, 2, 3, 4, 5] # 創建一個列表 print(list_data, type(list_data)) # 打印列表并輸出它的類型
以上實例輸出結果如下:
[1, 2, 3, 4, 5] <class 'list'>
編輯 例如,以下是如何獲取 list 中的元素:
fruits = ['apple', 'banana', 'cherry'] # 取第一個元素 print(fruits[0]) # 'apple' # 取第二個元素 print(fruits[1]) # 'banana' # 從右邊獲取右邊的第一個元素 print(fruits[-1]) # 'cherry'
如果想獲取 list 中的最后一個元素,也可以使用 -1 索引:
# 返回列表的最后一個元素 print(fruits[-1]) # elderberry # 返回一個列表的一部分,其中包含除最后兩個元素之外的所有元素 print(fruits[:-2]) # ['apple', 'banana', 'cherry'] # 返回包含列表最后三個元素的列表切片 print(fruits[-3:]) # ['cherry', 'date', 'elderberry']
append() 方法用于在列表的末尾追加元素,該方法的標準語法格式如下:
list.append(obj)
結論:
列表可包含任何數據類型的元素,單個列表中的元素無須全為同一類型。
append() 方法向列表的尾部添加一個新的元素。
列表是以類的形式實現的。“創建”列表實際上是將一個類實例化。因此,列表有多種方法可以操作。extend()方法只接受一個列表作為參數,并將該參數的每個元素都添加到原有的列表中
extend() 函數用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。 extend()方法語法:
list.extend(seq)
seq -- 元素列表。
該方法沒有返回值,但會在已存在的列表中添加新的列表內容。
示例如下:
fruits = ['apple', 'banana', 'cherry'] more_fruits = ['orange', 'lemon'] fruits.extend(more_fruits) print(fruits) # ['apple', 'banana', 'cherry', 'orange', 'lemon']
在指定位置插入一個元素,append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中間某個位置插入元素,那么可以使用 insert() 方法。 insert() 的語法格式如下:
listname.insert(index , obj)
結論:insert() 主要用來在列表的中間位置插入元素,如果你僅僅希望在列表的末尾追加元素,那我更建議使用 append() 和 extend()。
remove() 函數用于移除列表中某個值的第一個匹配項。 remove()方法語法:
list.remove(obj)
obj -- 列表中要移除的對象。
該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。
示例如下:刪除列表中第一個匹配的元素。
fruits = ['apple', 'banana', 'cherry', 'banana'] fruits.remove('banana') print(fruits) # ['apple', 'cherry', 'banana']
結論: remove() 方法只會刪除第一個和指定值相同的元素,而且必須保證該元素是存在的,否則會引發 ValueError 錯誤
pop() 方法用來刪除列表中指定索引處的元素,具體格式如下:
list.pop([index=-1])
list 表示列表名稱
index 表示索引值
obj -- 可選參數,要移除列表元素的索引值,不能超過列表總長度,默認為 index=-1,刪除最后一個列表值,類似于數據結構中的“出棧”操作
該方法返回從列表中移除的元素對象。
示例如下:刪除并返回指定位置的元素,默認為列表末尾的元素
fruits = ['apple', 'banana', 'cherry'] last_fruit = fruits.pop() print(last_fruit) # 'cherry' print(fruits) # ['apple', 'banana']
結論:pop() 相對應的方法,就是 push(),該方法用來將元素添加到列表的尾部,類似于數據結構中的“入棧”操作。但是 Python 是個例外,Python 并沒有提供 push() 方法,因為完全可以使用 append() 來代替 push() 的功能。
del 可以刪除列表中的單個元素,格式為:
del listname[index]
listname 表示列表名稱,index 表示元素的索引值
示例如下:
fruits = ['apple', 'banana', 'cherry'] del fruits[2] print(fruits) # 'apple', 'banana'
del 也可以刪除中間一段連續的元素,格式為:
del listname[start : end]
start 表示起始索引
end 表示結束索引
del 會刪除從索引 start 到 end 之間的元素,不包括 end 位置的元素
示例如下:
fruits = ['apple', 'banana', 'cherry'] del fruits[0:2] print(fruits) # 'cherry'
clear()方法語法:
list.clear()
clear() 用來刪除列表的所有元素,也即清空列表 示例如下:
fruits = ['apple', 'banana', 'cherry'] fruits.clear() print(fruits) # []
index() 方法用來查找某個元素在列表中出現的位置(也就是索引),如果該元素不存在,則會導致 ValueError 錯誤,所以在查找之前最好使用 count() 方法判斷一下。 index()方法語法:
list.index(obj, start, end)
lobj-- 表示要查找的元素
start-- 可選,查找的起始位置。
end-- 可選,查找的結束位置。
index() 方法會返回元素所在列表中的索引值。
start 和 end 參數用來指定檢索范圍:
start 和 end 可以都不寫,此時會檢索整個列表;
如果只寫 start 不寫 end,那么表示檢索從 start 到末尾的元素;
如果 start 和 end 都寫,那么表示檢索 start 和 end 之間的元素。
示例如下:返回第一個匹配的元素的索引。
fruits = ['apple', 'banana', 'cherry'] banana_index = fruits.index('banana') print(banana_index) # 1
結論:index() 方法只返回元素在列表中第一次出現的位置索引,如果需要查找所有出現位置的索引,可以使用列表解析或循環等方法實現。
count() 方法用來統計某個元素在列表中出現的次數,基本語法格式為:
list.count(obj)
obj -- 列表中統計的對象。
如果 count() 返回 0,就表示列表中不存在該元素,所以 count() 也可以用來判斷列表中的某個元素是否存在
示例如下::返回列表中指定元素的出現次數
fruits = ['apple', 'banana', 'cherry', 'banana'] banana_count = fruits.count('banana') print(banana_count) # 2
結論:count() 方法只統計某個元素在列表中出現的次數,而不會返回元素在列表中出現的位置索引。如果需要查找元素在列表中的位置索引,可以使用 index() 方法。
sort() 函數用于對原列表進行排序,如果指定參數,則使用比較函數指定的比較函數。 sort()方法語法:
list.sort(cmp=None, key=None, reverse=False)
cmp -- 可選參數, 如果指定了該參數會使用該參數的方法進行排序。
key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。
reverse -- 排序規則,reverse = True 降序, reverse = False 升序(默認)。
示例如下:按升序排列列表中的元素。
# 升序排序 a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] a.sort() print(a) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] # 降序排序 a = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] a.sort(reverse=True) print(a) # [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] # 根據字符串長度排序 fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry'] fruits.sort(key=len) print(fruits) # ['apple', 'banana', 'cherry', 'durian', 'elderberry']
結論:sort() 方法是 Python 列表中的一個方法,用于原地對列表進行排序,即將列表中的元素按一定的規則重新排列。默認情況下,sort() 方法按升序對列表進行排序,也可以通過傳遞 reverse=True 參數來按降序排序。 sort() 方法是原地排序,即會修改原始列表。如果需要對列表進行排序但又不想修改原始列表,可以使用 sorted() 內置函數。
reverse() 函數用于反向列表中元素。reverse()方法語法:
list.reverse()
示例如下:將列表中的元素倒序排列
fruits = ['apple', 'banana', 'cherry'] fruits.reverse() print(fruits) # ['cherry', 'banana', 'apple']
結論:reverse() 方法是原地反轉,即會修改原始列表。如果需要對列表進行反轉但又不想修改原始列表,可以使用切片操作來創建一個反轉后的新列表,例如 fruits[::-1]。
copy() 是 list 類的一個方法,用于創建一個列表的副本。copy() 方法不帶參數,它返回一個新列表,該列表包含原始列表中所有元素的副本。 例如,以下是如何使用 copy() 方法創建一個列表的副本:
fruits = ['apple', 'banana', 'cherry'] fruits_copy = fruits.copy() print(fruits_copy) # ['apple', 'banana', 'cherry']
上面的例子中,copy() 方法創建了一個新的 list 對象 fruits_copy,其中包含與原始列表 fruits 相同的元素。修改 fruits_copy 不會影響原始列表 fruits。 需要注意的是,copy() 方法只復制列表中元素的值,而不是元素本身。如果列表中包含可變對象(如列表或字典),則副本列表中的元素將包含與原始列表相同的可變對象的引用。這意味著如果修改了原始列表中的可變對象,副本列表中相應的元素也會受到影響。 在 Python 中,可以使用 = 運算符來復制列表。但是,使用 = 運算符復制列表只會創建原始列表的一個引用,而不是創建一個副本。這意味著修改一個列表會同時修改另一個列表。因此,如果需要復制列表并保留其獨立性,請使用 copy() 方法。 **淺拷貝:**copy() 方法進行淺拷貝的示例:
a = [1, 2, [1, 2]] b = a.copy() # 修改原始列表的第三個元素 a[2][0] = 5 print(a) # [1, 2, [5, 2]] print(b) # [1, 2, [5, 2]]
在上面的例子中,a 是一個包含整數和嵌套列表的列表。使用 copy() 方法將 a 復制到 b 中,然后修改了 a 中的嵌套列表中的第一個元素。在淺拷貝后的 b 中,嵌套列表中的第一個元素也發生了變化。 **深拷貝:**copy 模塊中的 deepcopy() 函數進行深拷貝的示例: 深拷貝是指創建一個新的列表對象,并遞歸地復制原始列表中的所有元素和嵌套的可變對象。這意味著如果修改原始列表中的嵌套對象,這些對象在深拷貝后的新列表中不會發生變化
import copy a = [1, 2, [1, 2]] b = copy.deepcopy(a) # 修改原始列表的第三個元素 a[2][0] = 5 print(a) # [1, 2, [5, 2]] print(b) # [1, 2, [1, 2]]
使用 copy 模塊中的 deepcopy() 函數將 a 深拷貝到 b 中,然后修改了 a 中的嵌套列表中的第一個元素。在深拷貝后的 b 中,嵌套列表中的第一個元素沒有發生變化。 需要注意的是,深拷貝比淺拷貝更慢并且更消耗內存,因為它需要遞歸地復制所有嵌套的對象。通常,只有在需要保留原始列表和新列表之間的獨立性,并且原始列表包含嵌套的可變。 結論: 淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。 深拷貝(deepcopy): copy 模塊的deepcopy 方法,完全拷貝了父對象及其子對象。
到此,關于“python中的list方法怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。