欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

[1, 2, 3, 4, 5]
<class 'list'>

二、 訪問列表中的元素

編輯 例如,以下是如何獲取 list 中的元素:

fruits = ['apple', 'banana', 'cherry']
# 取第一個(gè)元素
print(fruits[0])  # 'apple'
# 取第二個(gè)元素
print(fruits[1])  # 'banana'
# 從右邊獲取右邊的第一個(gè)元素
print(fruits[-1])  # 'cherry'

如果想獲取 list 中的最后一個(gè)元素,也可以使用 -1 索引:

# 返回列表的最后一個(gè)元素
print(fruits[-1])            # elderberry
# 返回一個(gè)列表的一部分,其中包含除最后兩個(gè)元素之外的所有元素
print(fruits[:-2])           # ['apple', 'banana', 'cherry']
# 返回包含列表最后三個(gè)元素的列表切片
print(fruits[-3:])           # ['cherry', 'date', 'elderberry']

三、append 方法:

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

list.append(obj)

結(jié)論:

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

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

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

四、extend 方法:

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

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

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

示例如下:

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

五、insert 方法:

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

listname.insert(index , obj)

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

六、remove 方法:

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

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

  • 該方法沒有返回值但是會(huì)移除列表中的某個(gè)值的第一個(gè)匹配項(xiàng)。

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

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

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

七、pop 方法:

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

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

  • index 表示索引值

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

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

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

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

結(jié)論:pop() 相對(duì)應(yīng)的方法,就是 push(),該方法用來將元素添加到列表的尾部,類似于數(shù)據(jù)結(jié)構(gòu)中的“入棧”操作。但是 Python 是個(gè)例外,Python 并沒有提供 push() 方法,因?yàn)橥耆梢允褂?append() 來代替 push() 的功能。

八、del方法:

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

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 會(huì)刪除從索引 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() 方法用來查找某個(gè)元素在列表中出現(xiàn)的位置(也就是索引),如果該元素不存在,則會(huì)導(dǎo)致 ValueError 錯(cuò)誤,所以在查找之前最好使用 count() 方法判斷一下。 index()方法語法:

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

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

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

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

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

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

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

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

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

十一、count 方法:

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

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

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

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

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

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

十二、sort 方法:

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

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

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

  • reverse -- 排序規(guī)則,reverse = True 降序, reverse = False 升序(默認(rèn))。

示例如下:按升序排列列表中的元素。

# 升序排序
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ù)字符串長(zhǎng)度排序
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort(key=len)
print(fruits)  # ['apple', 'banana', 'cherry', 'durian', 'elderberry']

結(jié)論:sort() 方法是 Python 列表中的一個(gè)方法,用于原地對(duì)列表進(jìn)行排序,即將列表中的元素按一定的規(guī)則重新排列。默認(rèn)情況下,sort() 方法按升序?qū)α斜磉M(jìn)行排序,也可以通過傳遞 reverse=True 參數(shù)來按降序排序。 sort() 方法是原地排序,即會(huì)修改原始列表。如果需要對(duì)列表進(jìn)行排序但又不想修改原始列表,可以使用 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),即會(huì)修改原始列表。如果需要對(duì)列表進(jìn)行反轉(zhuǎn)但又不想修改原始列表,可以使用切片操作來創(chuàng)建一個(gè)反轉(zhuǎn)后的新列表,例如 fruits[::-1]。

十四、copy方法:

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

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

上面的例子中,copy() 方法創(chuàng)建了一個(gè)新的 list 對(duì)象 fruits_copy,其中包含與原始列表 fruits 相同的元素。修改 fruits_copy 不會(huì)影響原始列表 fruits。 需要注意的是,copy() 方法只復(fù)制列表中元素的值,而不是元素本身。如果列表中包含可變對(duì)象(如列表或字典),則副本列表中的元素將包含與原始列表相同的可變對(duì)象的引用。這意味著如果修改了原始列表中的可變對(duì)象,副本列表中相應(yīng)的元素也會(huì)受到影響。 在 Python 中,可以使用 = 運(yùn)算符來復(fù)制列表。但是,使用 = 運(yùn)算符復(fù)制列表只會(huì)創(chuàng)建原始列表的一個(gè)引用,而不是創(chuàng)建一個(gè)副本。這意味著修改一個(gè)列表會(huì)同時(shí)修改另一個(gè)列表。因此,如果需要復(fù)制列表并保留其獨(dú)立性,請(qǐng)使用 copy() 方法。 **淺拷貝:**copy() 方法進(jìn)行淺拷貝的示例:

a = [1, 2, [1, 2]]
b = a.copy()

# 修改原始列表的第三個(gè)元素
a[2][0] = 5

print(a)  # [1, 2, [5, 2]]
print(b)  # [1, 2, [5, 2]]

在上面的例子中,a 是一個(gè)包含整數(shù)和嵌套列表的列表。使用 copy() 方法將 a 復(fù)制到 b 中,然后修改了 a 中的嵌套列表中的第一個(gè)元素。在淺拷貝后的 b 中,嵌套列表中的第一個(gè)元素也發(fā)生了變化。 **深拷貝:**copy 模塊中的 deepcopy() 函數(shù)進(jìn)行深拷貝的示例: 深拷貝是指創(chuàng)建一個(gè)新的列表對(duì)象,并遞歸地復(fù)制原始列表中的所有元素和嵌套的可變對(duì)象。這意味著如果修改原始列表中的嵌套對(duì)象,這些對(duì)象在深拷貝后的新列表中不會(huì)發(fā)生變化

import copy

a = [1, 2, [1, 2]]
b = copy.deepcopy(a)

# 修改原始列表的第三個(gè)元素
a[2][0] = 5

print(a)  # [1, 2, [5, 2]]
print(b)  # [1, 2, [1, 2]]

使用 copy 模塊中的 deepcopy() 函數(shù)將 a 深拷貝到 b 中,然后修改了 a 中的嵌套列表中的第一個(gè)元素。在深拷貝后的 b 中,嵌套列表中的第一個(gè)元素沒有發(fā)生變化。 需要注意的是,深拷貝比淺拷貝更慢并且更消耗內(nèi)存,因?yàn)樗枰f歸地復(fù)制所有嵌套的對(duì)象。通常,只有在需要保留原始列表和新列表之間的獨(dú)立性,并且原始列表包含嵌套的可變。 結(jié)論: 淺拷貝(copy):拷貝父對(duì)象,不會(huì)拷貝對(duì)象的內(nèi)部的子對(duì)象。 深拷貝(deepcopy): copy 模塊的deepcopy 方法,完全拷貝了父對(duì)象及其子對(duì)象。

十五、總結(jié):

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

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

相關(guān)文章

最新評(píng)論