亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中l(wèi)ist方法詳解

 更新時間:2023年04月26日 08:58:57   作者:xuanxuan12  
list 是 Python 中的一種內(nèi)置數(shù)據(jù)類型,代表一個可變的有序序列。list 類型的對象可以使用多個方法來操作和修改其中的元素。文中通過代碼示例詳細介紹了list的常用方法,感興趣的同學(xué)可以參考閱讀

介紹: list 是 Python 中的一種內(nèi)置數(shù)據(jù)類型,代表一個可變的有序序列。list 類型的對象可以使用多個方法來操作和修改其中的元素。 list: 列表 Built-in mutable sequence. 內(nèi)置可變的序列 定義列表的時候使用的是[ ], 也可以包含多個不同類型的元素,多個元素之間也是用逗號分隔

一、創(chuàng)建一個列表

list_data = [1, 2, 3, 4, 5]             # 創(chuàng)建一個列表
print(list_data, type(list_data))       # 打印列表并輸出它的類型

以上實例輸出結(jié)果如下:

[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 方法:

append() 方法用于在列表的末尾追加元素,該方法的標準語法格式如下:

list.append(obj)

結(jié)論:

  • 列表可包含任何數(shù)據(jù)類型的元素,單個列表中的元素?zé)o須全為同一類型。

  • append() 方法向列表的尾部添加一個新的元素。

  • 列表是以類的形式實現(xiàn)的。“創(chuàng)建”列表實際上是將一個類實例化。因此,列表有多種方法可以操作。extend()方法只接受一個列表作為參數(shù),并將該參數(shù)的每個元素都添加到原有的列表中

四、extend 方法:

extend() 函數(shù)用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。 extend()方法語法:

list.extend(seq)
  • seq -- 元素列表。

  • 該方法沒有返回值,但會在已存在的列表中添加新的列表內(nèi)容。

示例如下:

fruits = ['apple', 'banana', 'cherry']
more_fruits = ['orange', 'lemon']
fruits.extend(more_fruits)
print(fruits)  # ['apple', 'banana', 'cherry', 'orange', 'lemon']

五、insert 方法:

在指定位置插入一個元素,append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中間某個位置插入元素,那么可以使用 insert() 方法。 insert() 的語法格式如下:

listname.insert(index , obj)

結(jié)論:insert() 主要用來在列表的中間位置插入元素,如果你僅僅希望在列表的末尾追加元素,那我更建議使用 append() 和 extend()。

六、remove 方法:

remove() 函數(shù)用于移除列表中某個值的第一個匹配項。 remove()方法語法:

list.remove(obj)
  • obj -- 列表中要移除的對象。

  • 該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。

示例如下:刪除列表中第一個匹配的元素。

fruits = ['apple', 'banana', 'cherry', 'banana']
fruits.remove('banana')
print(fruits)  # ['apple', 'cherry', 'banana']

結(jié)論: remove() 方法只會刪除第一個和指定值相同的元素,而且必須保證該元素是存在的,否則會引發(fā) ValueError 錯誤

七、pop 方法:

pop() 方法用來刪除列表中指定索引處的元素,具體格式如下:

list.pop([index=-1])
  • list 表示列表名稱

  • index 表示索引值

  • obj -- 可選參數(shù),要移除列表元素的索引值,不能超過列表總長度,默認為 index=-1,刪除最后一個列表值,類似于數(shù)據(jù)結(jié)構(gòu)中的“出棧”操作

  • 該方法返回從列表中移除的元素對象。

示例如下:刪除并返回指定位置的元素,默認為列表末尾的元素

fruits = ['apple', 'banana', 'cherry']
last_fruit = fruits.pop()
print(last_fruit)  # 'cherry'
print(fruits)  # ['apple', 'banana']

結(jié)論:pop() 相對應(yīng)的方法,就是 push(),該方法用來將元素添加到列表的尾部,類似于數(shù)據(jù)結(jié)構(gòu)中的“入棧”操作。但是 Python 是個例外,Python 并沒有提供 push() 方法,因為完全可以使用 append() 來代替 push() 的功能。

八、del方法:

del 可以刪除列表中的單個元素,格式為:

del listname[index]
  • listname 表示列表名稱,index 表示元素的索引值

示例如下:

fruits = ['apple', 'banana', 'cherry']
del fruits[2]
print(fruits)  # 'apple', 'banana'

del 也可以刪除中間一段連續(xù)的元素,格式為:

del listname[start : end]
  • start 表示起始索引

  • end 表示結(jié)束索引

  • del 會刪除從索引 start 到 end 之間的元素,不包括 end 位置的元素

示例如下:

fruits = ['apple', 'banana', 'cherry']
del fruits[0:2]
print(fruits)  # 'cherry'

九、clear()方法:

clear()方法語法:

list.clear()

clear() 用來刪除列表的所有元素,也即清空列表 示例如下:

fruits = ['apple', 'banana', 'cherry']
fruits.clear()
print(fruits)  # []

十、index( ) 方法:

index() 方法用來查找某個元素在列表中出現(xiàn)的位置(也就是索引),如果該元素不存在,則會導(dǎo)致 ValueError 錯誤,所以在查找之前最好使用 count() 方法判斷一下。 index()方法語法:

list.index(obj, start, end)
  • lobj-- 表示要查找的元素

  • start-- 可選,查找的起始位置。

  • end-- 可選,查找的結(jié)束位置。

  • index() 方法會返回元素所在列表中的索引值。

start 和 end 參數(shù)用來指定檢索范圍:

  • start 和 end 可以都不寫,此時會檢索整個列表;
  • 如果只寫 start 不寫 end,那么表示檢索從 start 到末尾的元素;
  • 如果 start 和 end 都寫,那么表示檢索 start 和 end 之間的元素。

示例如下:返回第一個匹配的元素的索引。

fruits = ['apple', 'banana', 'cherry']
banana_index = fruits.index('banana')
print(banana_index)  # 1

結(jié)論:index() 方法只返回元素在列表中第一次出現(xiàn)的位置索引,如果需要查找所有出現(xiàn)位置的索引,可以使用列表解析或循環(huán)等方法實現(xiàn)。

十一、count 方法:

count() 方法用來統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù),基本語法格式為:

list.count(obj)
  • obj -- 列表中統(tǒng)計的對象。

  • 如果 count() 返回 0,就表示列表中不存在該元素,所以 count() 也可以用來判斷列表中的某個元素是否存在

示例如下::返回列表中指定元素的出現(xiàn)次數(shù)

fruits = ['apple', 'banana', 'cherry', 'banana']
banana_count = fruits.count('banana')
print(banana_count)  # 2

結(jié)論:count() 方法只統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù),而不會返回元素在列表中出現(xiàn)的位置索引。如果需要查找元素在列表中的位置索引,可以使用 index() 方法。

十二、sort 方法:

sort() 函數(shù)用于對原列表進行排序,如果指定參數(shù),則使用比較函數(shù)指定的比較函數(shù)。 sort()方法語法:

list.sort(cmp=None, key=None, reverse=False)
  • cmp -- 可選參數(shù), 如果指定了該參數(shù)會使用該參數(shù)的方法進行排序。

  • key -- 主要是用來進行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。

  • reverse -- 排序規(guī)則,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]

# 根據(jù)字符串長度排序
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort(key=len)
print(fruits)  # ['apple', 'banana', 'cherry', 'durian', 'elderberry']

結(jié)論:sort() 方法是 Python 列表中的一個方法,用于原地對列表進行排序,即將列表中的元素按一定的規(guī)則重新排列。默認情況下,sort() 方法按升序?qū)α斜磉M行排序,也可以通過傳遞 reverse=True 參數(shù)來按降序排序。 sort() 方法是原地排序,即會修改原始列表。如果需要對列表進行排序但又不想修改原始列表,可以使用 sorted() 內(nèi)置函數(shù)。

十三、reverse 方法:

reverse() 函數(shù)用于反向列表中元素。reverse()方法語法:

list.reverse()

示例如下:將列表中的元素倒序排列

fruits = ['apple', 'banana', 'cherry']
fruits.reverse()
print(fruits)  # ['cherry', 'banana', 'apple']

結(jié)論:reverse() 方法是原地反轉(zhuǎn),即會修改原始列表。如果需要對列表進行反轉(zhuǎn)但又不想修改原始列表,可以使用切片操作來創(chuàng)建一個反轉(zhuǎn)后的新列表,例如 fruits[::-1]。

十四、copy方法:

copy() 是 list 類的一個方法,用于創(chuàng)建一個列表的副本。copy() 方法不帶參數(shù),它返回一個新列表,該列表包含原始列表中所有元素的副本。 例如,以下是如何使用 copy() 方法創(chuàng)建一個列表的副本:

fruits = ['apple', 'banana', 'cherry']
fruits_copy = fruits.copy()
print(fruits_copy)  # ['apple', 'banana', 'cherry']

上面的例子中,copy() 方法創(chuàng)建了一個新的 list 對象 fruits_copy,其中包含與原始列表 fruits 相同的元素。修改 fruits_copy 不會影響原始列表 fruits。 需要注意的是,copy() 方法只復(fù)制列表中元素的值,而不是元素本身。如果列表中包含可變對象(如列表或字典),則副本列表中的元素將包含與原始列表相同的可變對象的引用。這意味著如果修改了原始列表中的可變對象,副本列表中相應(yīng)的元素也會受到影響。 在 Python 中,可以使用 = 運算符來復(fù)制列表。但是,使用 = 運算符復(fù)制列表只會創(chuàng)建原始列表的一個引用,而不是創(chuàng)建一個副本。這意味著修改一個列表會同時修改另一個列表。因此,如果需要復(fù)制列表并保留其獨立性,請使用 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 是一個包含整數(shù)和嵌套列表的列表。使用 copy() 方法將 a 復(fù)制到 b 中,然后修改了 a 中的嵌套列表中的第一個元素。在淺拷貝后的 b 中,嵌套列表中的第一個元素也發(fā)生了變化。 **深拷貝:**copy 模塊中的 deepcopy() 函數(shù)進行深拷貝的示例: 深拷貝是指創(chuàng)建一個新的列表對象,并遞歸地復(fù)制原始列表中的所有元素和嵌套的可變對象。這意味著如果修改原始列表中的嵌套對象,這些對象在深拷貝后的新列表中不會發(fā)生變化

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() 函數(shù)將 a 深拷貝到 b 中,然后修改了 a 中的嵌套列表中的第一個元素。在深拷貝后的 b 中,嵌套列表中的第一個元素沒有發(fā)生變化。 需要注意的是,深拷貝比淺拷貝更慢并且更消耗內(nèi)存,因為它需要遞歸地復(fù)制所有嵌套的對象。通常,只有在需要保留原始列表和新列表之間的獨立性,并且原始列表包含嵌套的可變。 結(jié)論: 淺拷貝(copy):拷貝父對象,不會拷貝對象的內(nèi)部的子對象。 深拷貝(deepcopy): copy 模塊的deepcopy 方法,完全拷貝了父對象及其子對象。

十五、總結(jié):

list 對象是可變的,即對 list 對象的操作會直接修改原列表,而不是返回一個新列表,Python 中的列表(list)是一種有序、可變的數(shù)據(jù)類型,可以容納任何類型的元素,包括整數(shù)、浮點數(shù)、字符串、甚至其他列表。列表通過方括號 [ ] 來定義,可以使用索引來訪問或修改列表中的元素。需要注意的是列表是可變的,即可以修改它們的內(nèi)容。如果需要在不修改原始列表的情況下進行操作,可以使用切片操作來創(chuàng)建一個新的列表,或者使用 copy() 方法來創(chuàng)建一個原始列表的副本。

以上就是python中l(wèi)ist方法詳解的詳細內(nèi)容,更多關(guān)于python list方法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • matplotlib實戰(zhàn)之餅圖繪制詳解

    matplotlib實戰(zhàn)之餅圖繪制詳解

    餅圖,或稱餅狀圖,是一個劃分為幾個扇形的圓形統(tǒng)計圖表,這篇文章主要為大家詳細介紹了如何使用Matplotlib繪制餅圖,需要的小伙伴可以參考下
    2023-08-08
  • python實現(xiàn)的讀取網(wǎng)頁并分詞功能示例

    python實現(xiàn)的讀取網(wǎng)頁并分詞功能示例

    這篇文章主要介紹了python實現(xiàn)的讀取網(wǎng)頁并分詞功能,結(jié)合實例形式分析了Python使用requests模塊讀取網(wǎng)頁,以及jieba庫分詞的相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • 解讀torch.cuda.amp自動混合精度訓(xùn)練之節(jié)省顯存并加快推理速度

    解讀torch.cuda.amp自動混合精度訓(xùn)練之節(jié)省顯存并加快推理速度

    這篇文章主要介紹了torch.cuda.amp自動混合精度訓(xùn)練之節(jié)省顯存并加快推理速度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 使用Python遍歷文件夾實現(xiàn)查找指定文件夾

    使用Python遍歷文件夾實現(xiàn)查找指定文件夾

    這篇文章主要為大家介紹了如何使用Python遍歷文件夾從而實現(xiàn)查找指定文件夾下所有相同名稱的文件、所有相同后綴名的文件,感興趣的可以了解一下
    2022-07-07
  • Python使用matplotlib繪制動畫的方法

    Python使用matplotlib繪制動畫的方法

    這篇文章主要介紹了Python使用matplotlib繪制動畫的方法,涉及matplotlib模塊的常見使用技巧,需要的朋友可以參考下
    2015-05-05
  • 詳解Python的迭代器、生成器以及相關(guān)的itertools包

    詳解Python的迭代器、生成器以及相關(guān)的itertools包

    這篇文章主要介紹了詳解Python的迭代器、生成器以及相關(guān)的itertools包,Iterators、Generators是Python的高級特性,亦是Python學(xué)習(xí)當中必會的基本知識,需要的朋友可以參考下
    2015-04-04
  • Python制作可視化報表的示例詳解

    Python制作可視化報表的示例詳解

    在數(shù)據(jù)展示中使用圖表來分享自己的見解,是個非常常見的方法。這也是Tableau、Power BI這類商業(yè)智能儀表盤持續(xù)流行的原因之一。本文主主要介紹了一個用Python制作可視化報表的案例,感興趣的可以學(xué)習(xí)一下
    2022-02-02
  • python項目中requirements.txt的用法實例教程

    python項目中requirements.txt的用法實例教程

    Python項目中必須包含一個requirements.txt文件,用于記錄所有依賴包及其精確的版本號,以便新環(huán)境部署,下面這篇文章主要給大家介紹了關(guān)于python項目中requirements.txt用法的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 對python numpy數(shù)組中冒號的使用方法詳解

    對python numpy數(shù)組中冒號的使用方法詳解

    下面小編就為大家分享一篇對python numpy數(shù)組中冒號的使用方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python爬取鏈家二手房的數(shù)據(jù)

    python爬取鏈家二手房的數(shù)據(jù)

    相信大家買房前都會在網(wǎng)上找找資料,看看行情,問問朋友,今天就用python帶大家扒一扒《鏈家二手房》的數(shù)據(jù)
    2021-05-05

最新評論