最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python去掉列表最后一個(gè)元素的方法匯總

 更新時(shí)間:2026年04月14日 08:19:49   作者:detayun  
這篇文章主要介紹了python去掉列表最后一個(gè)元素的常用方法,主要包括切片、pop()和del,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

在 Python 中,可以通過(guò)多種方法去掉列表的最后一個(gè)元素。以下是幾種常見(jiàn)的方法:

方法 1:使用切片(推薦)

my_list = [1, 2, 3, 4, 5]
my_list = my_list[:-1]  # 切片去掉最后一個(gè)元素
print(my_list)  # 輸出: [1, 2, 3, 4]
  • 原理my_list[:-1] 表示從開始到倒數(shù)第一個(gè)元素(不包括最后一個(gè))。
  • 優(yōu)點(diǎn):不修改原列表,而是返回一個(gè)新列表(如果直接賦值給原變量,則相當(dāng)于修改)。

方法 2:使用pop()方法

my_list = [1, 2, 3, 4, 5]
my_list.pop()  # 去掉最后一個(gè)元素(直接修改原列表)
print(my_list)  # 輸出: [1, 2, 3, 4]
  • 原理pop() 默認(rèn)移除并返回列表的最后一個(gè)元素(如果不指定索引)。
  • 優(yōu)點(diǎn):直接修改原列表,適合需要操作原列表的情況。
  • 缺點(diǎn):如果列表為空,會(huì)拋出 IndexError。

方法 3:使用del語(yǔ)句

my_list = [1, 2, 3, 4, 5]
del my_list[-1]  # 刪除最后一個(gè)元素
print(my_list)  # 輸出: [1, 2, 3, 4]
  • 原理del 直接刪除指定索引的元素(-1 表示最后一個(gè))。
  • 優(yōu)點(diǎn):直接修改原列表,效率較高。
  • 缺點(diǎn):如果列表為空,會(huì)拋出 IndexError

方法 4:使用remove()(不推薦)

my_list = [1, 2, 3, 4, 5]
if my_list:  # 先檢查列表是否非空
    my_list.remove(my_list[-1])  # 移除最后一個(gè)元素(不推薦)
print(my_list)  # 輸出: [1, 2, 3, 4]

原理remove() 根據(jù)值刪除元素,這里傳入最后一個(gè)元素的值。

缺點(diǎn)

  • 需要先知道最后一個(gè)元素的值。
  • 如果列表中有重復(fù)值,會(huì)刪除第一個(gè)匹配的元素(不一定是最后一個(gè))。
  • 不推薦使用,僅作演示。

總結(jié)

方法是否修改原列表適用場(chǎng)景注意事項(xiàng)
切片 [:-1]否(需重新賦值)需要保留原列表最安全,推薦
pop()需要操作原列表空列表會(huì)報(bào)錯(cuò)
del需要操作原列表空列表會(huì)報(bào)錯(cuò)
remove()不推薦容易出錯(cuò)

推薦做法

  • 如果不需要保留原列表 → 用 pop()del
  • 如果需要保留原列表 → 用切片 my_list[:-1]。

示例代碼(推薦切片):

my_list = [1, 2, 3, 4, 5]
new_list = my_list[:-1]  # 不修改原列表
print("原列表:", my_list)  # 輸出: [1, 2, 3, 4, 5]
print("新列表:", new_list)  # 輸出: [1, 2, 3, 4]

示例代碼(推薦pop()):

my_list = [1, 2, 3, 4, 5]
if my_list:  # 安全檢查
    my_list.pop()  # 修改原列表
print(my_list)  # 輸出: [1, 2, 3, 4]

方法補(bǔ)充

下面是小編整理的其他Python列表去掉最后一個(gè)元素的方法,大家可以參考下

1. pop() 方法(最常用,移除并返回)

pop() 是內(nèi)置列表方法,不傳參數(shù)時(shí)默認(rèn)移除并返回最后一個(gè)元素。

lst = [1, 2, 3, 4, 5]
removed = lst.pop()
print(lst)      # [1, 2, 3, 4]
print(removed)  # 5
  • 修改原列表 ?
  • 返回值:被移除的元素
  • 時(shí)間復(fù)雜度:O(1)(因?yàn)橐瞥氖俏膊吭兀?/li>
  • 適用場(chǎng)景:需要獲取被移除的元素,或者需要修改原列表。

2. 切片 [:-1](創(chuàng)建新列表,原列表不變)

通過(guò)切片生成一個(gè)新的列表,包含原列表除最后一個(gè)元素外的所有元素。

lst = [1, 2, 3, 4, 5]
new_lst = lst[:-1]
print(lst)      # [1, 2, 3, 4, 5]  原列表不變
print(new_lst)  # [1, 2, 3, 4]
  • 修改原列表 ?(原列表不變,生成新列表)
  • 返回值:新列表
  • 時(shí)間復(fù)雜度:O(n)(需要復(fù)制除最后一個(gè)外的所有元素)
  • 適用場(chǎng)景:需要保留原列表不變,或者函數(shù)式編程風(fēng)格。

3. del 語(yǔ)句(刪除最后一個(gè)元素,不返回)

使用 del lst[-1] 刪除最后一個(gè)位置的元素,不返回被刪除的值。

lst = [1, 2, 3, 4, 5]
del lst[-1]
print(lst)      # [1, 2, 3, 4]
  • 修改原列表 ?
  • 返回值:無(wú)(刪除操作,無(wú)返回值)
  • 時(shí)間復(fù)雜度:O(1)
  • 適用場(chǎng)景:只需刪除元素,不需要知道刪除的是什么值。

4. 負(fù)索引配合 pop(-1)

pop(-1) 與 pop() 等價(jià),顯式使用負(fù)索引更明確。

lst = [1, 2, 3, 4, 5]
removed = lst.pop(-1)
print(lst)      # [1, 2, 3, 4]
print(removed)  # 5

效果同 pop(),僅僅是顯式指明了位置。

5. 重新賦值 lst = lst[:-1](改變?cè)斜硪茫?/strong>

將原變量重新指向切片生成的新列表,原列表如果沒(méi)有其他引用則被垃圾回收。

lst = [1, 2, 3, 4, 5]
lst = lst[:-1]
print(lst)      # [1, 2, 3, 4]
  • 修改原變量引用的列表(但原列表對(duì)象可能未被修改,而是創(chuàng)建了新對(duì)象)
  • 注意:如果有其他變量也指向原列表,那些變量仍會(huì)看到原列表。

6. 使用 list 解包(僅適用于需要丟棄最后一個(gè)元素且生成新列表)

lst = [1, 2, 3, 4, 5]
*rest, _ = lst   # 將最后一個(gè)元素丟棄
print(rest)      # [1, 2, 3, 4]
  • 修改原列表 ?(生成新列表)
  • 適用場(chǎng)景:配合解包語(yǔ)法,可讀性較好,但需要 Python 3.0+。

方法對(duì)比總結(jié)表

方法修改原列表返回值時(shí)間復(fù)雜度是否創(chuàng)建新列表典型代碼
pop()?被移除元素O(1)?lst.pop()
pop(-1)?被移除元素O(1)?lst.pop(-1)
del lst[-1]?無(wú)O(1)?del lst[-1]
切片 [:-1]?新列表O(n)?new = lst[:-1]
lst = lst[:-1]改變引用無(wú)O(n)?lst = lst[:-1]
解包 *rest, _ = lst?無(wú)(生成新列表)O(n)?*rest, _ = lst

選擇建議

  • 如果你需要修改原列表并獲取被刪除的元素:使用 lst.pop()
  • 如果你只需要修改原列表,不關(guān)心被刪除的值:使用 del lst[-1]
  • 如果你需要保留原列表不變,獲得一個(gè)新的去掉末尾元素的列表:使用切片 lst[:-1]
  • 如果你希望代碼表達(dá)更函數(shù)式、不修改原數(shù)據(jù):推薦切片

絕大多數(shù)場(chǎng)景下,pop() 是最直觀且高效的選擇。

到此這篇關(guān)于python去掉列表最后一個(gè)元素的方法匯總的文章就介紹到這了,更多相關(guān)python去掉列表最后一個(gè)元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中的turtle庫(kù)函數(shù)簡(jiǎn)單使用教程

    python中的turtle庫(kù)函數(shù)簡(jiǎn)單使用教程

    這篇文章主要介紹了python中的turtle庫(kù)函數(shù)簡(jiǎn)單使用教程。本文通過(guò)圖片的形式給大家展示的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Python eval的常見(jiàn)錯(cuò)誤封裝及利用原理詳解

    Python eval的常見(jiàn)錯(cuò)誤封裝及利用原理詳解

    這篇文章主要介紹了Python eval的常見(jiàn)錯(cuò)誤封裝及利用原理詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Python如何篩選序列中的元素的方法實(shí)現(xiàn)

    Python如何篩選序列中的元素的方法實(shí)現(xiàn)

    這篇文章主要介紹了Python如何篩選序列中的元素的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python實(shí)現(xiàn)三次樣條插值

    python實(shí)現(xiàn)三次樣條插值

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)三次樣條插值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python實(shí)戰(zhàn)小游戲飛機(jī)大戰(zhàn)詳解

    Python實(shí)戰(zhàn)小游戲飛機(jī)大戰(zhàn)詳解

    飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂(lè)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡(jiǎn)單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 解決python 自動(dòng)安裝缺少模塊的問(wèn)題

    解決python 自動(dòng)安裝缺少模塊的問(wèn)題

    今天小編就為大家分享一篇解決python 自動(dòng)安裝缺少模塊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 關(guān)于tf.nn.dynamic_rnn返回值詳解

    關(guān)于tf.nn.dynamic_rnn返回值詳解

    今天小編就為大家分享一篇關(guān)于tf.nn.dynamic_rnn返回值詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法

    Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法

    這篇文章主要介紹了Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法,涉及Python的二分查找算法與數(shù)學(xué)運(yùn)算相關(guān)技巧,需要的朋友可以參考下
    2016-05-05
  • 詳細(xì)解讀Python中的__init__()方法

    詳細(xì)解讀Python中的__init__()方法

    這篇文章主要介紹了Python中的__init__()方法,__init__()方法是Python學(xué)習(xí)當(dāng)中重要的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 對(duì)numpy和pandas中數(shù)組的合并和拆分詳解

    對(duì)numpy和pandas中數(shù)組的合并和拆分詳解

    下面小編就為大家分享一篇對(duì)numpy和pandas中數(shù)組的合并和拆分詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

三门峡市| 定远县| 天峻县| 德清县| 行唐县| 黑龙江省| 远安县| 玛纳斯县| 萍乡市| 东明县| 电白县| 错那县| 榆中县| 刚察县| 深泽县| 丘北县| 黄龙县| 仲巴县| 聂荣县| 巴南区| 安达市| 巴塘县| 巢湖市| 盘山县| 外汇| 贵德县| 荆门市| 安国市| 罗甸县| 桑植县| 视频| 德昌县| 五台县| 渑池县| 堆龙德庆县| 宜阳县| 麦盖提县| 甘南县| 仪陇县| 肥西县| 宁南县|