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

python?list中append與extend方法示例總結(jié)

 更新時間:2026年03月03日 09:46:38   作者:一直不明飛行  
在Python中l(wèi)ist.extend()和list.append()都是用于操作列表的方法,這篇文章主要介紹了python?list中append與extend方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 基本定義

append()方法

  • 作用:在列表末尾添加單個元素

  • 語法list.append(element)

  • 特點(diǎn):無論添加什么,都作為一個整體元素加入

extend()方法

  • 作用:在列表末尾添加多個元素

  • 語法list.extend(iterable)

  • 特點(diǎn):將可迭代對象中的元素逐個加入

2. 基礎(chǔ)用法對比

python

# 基礎(chǔ)示例
fruits = ['apple', 'banana']

# append 用法
fruits.append('orange')
print(fruits)  # ['apple', 'banana', 'orange']

# extend 用法  
fruits.extend(['grape', 'mango'])
print(fruits)  # ['apple', 'banana', 'orange', 'grape', 'mango']

3. 核心區(qū)別詳解

情況1:添加列表時的區(qū)別

python

list1 = [1, 2, 3]
list2 = [4, 5, 6]

# append - 將整個list2作為一個元素添加
list1.append(list2)
print(list1)  # [1, 2, 3, [4, 5, 6]] - 嵌套列表!

# extend - 將list2中的元素逐個添加
list1 = [1, 2, 3]  # 重新初始化
list1.extend(list2)
print(list1)  # [1, 2, 3, 4, 5, 6] - 扁平列表

情況2:添加字符串時的區(qū)別

python

words = ['hello']

# append - 整個字符串作為一個元素
words.append('world')
print(words)  # ['hello', 'world']

# extend - 字符串被拆分為字符
words = ['hello']  # 重新初始化
words.extend('world')
print(words)  # ['hello', 'w', 'o', 'r', 'l', 'd']

情況3:添加元組時的區(qū)別

python

numbers = [1, 2]

# append - 整個元組作為一個元素
numbers.append((3, 4))
print(numbers)  # [1, 2, (3, 4)]

# extend - 元組元素逐個添加
numbers = [1, 2]  # 重新初始化
numbers.extend((3, 4))
print(numbers)  # [1, 2, 3, 4]

情況4:添加字典時的區(qū)別

# append 添加整個字典
my_list.append({'a': 1, 'b': 2})
print(my_list)  # ['start', {'a': 1, 'b': 2}]
# extend 添加字典的鍵
my_list = ['start']  # 重新初始化
my_list.extend({'a': 1, 'b': 2})
print(my_list)  # ['start', 'a', 'b']

實(shí)際應(yīng)用場景

場景1:樹形結(jié)構(gòu)處理

python

class TreeNode:
    def get_all_nodes(self):
        """獲取所有節(jié)點(diǎn)"""
        all_nodes = [self]  # 先添加自己
        
        # 對于每個子節(jié)點(diǎn),遞歸獲取其所有節(jié)點(diǎn)并擴(kuò)展
        for child in self.children:
            all_nodes.extend(child.get_all_nodes())  # 正確:扁平化添加
        
        # 如果錯誤使用append:
        # for child in self.children:
        #     all_nodes.append(child.get_all_nodes())  # 錯誤:產(chǎn)生嵌套列表
        
        return all_nodes

場景2:數(shù)據(jù)合并

python

# 合并多個數(shù)據(jù)源
def merge_data_sources(*sources):
    merged_data = []
    
    for source in sources:
        if isinstance(source, list):
            merged_data.extend(source)  # 合并列表
        else:
            merged_data.append(source)  # 添加單個元素
    
    return merged_data

# 使用示例
result = merge_data_sources(
    [1, 2, 3],
    'hello',
    (4, 5),
    [6, 7]
)
print(result)  # [1, 2, 3, 'hello', (4, 5), 6, 7]
與其他方法的對比

python

# 與 + 運(yùn)算符對比
list1 = [1, 2, 3]
list2 = [4, 5, 6]

# extend - 原地修改
list1.extend(list2)
print(list1)  # [1, 2, 3, 4, 5, 6]

# + 運(yùn)算符 - 創(chuàng)建新列表
list1 = [1, 2, 3]
new_list = list1 + list2
print(new_list)  # [1, 2, 3, 4, 5, 6]
print(list1)     # [1, 2, 3] - 原列表不變

總結(jié)對比表

特性append()extend()
參數(shù)單個元素可迭代對象
結(jié)果添加整個對象作為元素添加可迭代對象中的每個元素
內(nèi)存較少修改可能涉及更多內(nèi)存操作
性能O(1)O(k),k為可迭代對象長度
適用場景添加單個元素合并多個元素
返回值None(原地修改)None(原地修改)
嵌套處理可能產(chǎn)生嵌套保持扁平結(jié)構(gòu)

選擇指南

使用 append() 當(dāng):

  • 添加單個元素

  • 元素本身需要保持完整結(jié)構(gòu)

  • 不確定元素類型時

使用 extend() 當(dāng):

  • 合并多個元素

  • 需要扁平化結(jié)構(gòu)時

  • 處理已知的可迭代對象

到此這篇關(guān)于python list中append與extend方法的文章就介紹到這了,更多相關(guān)python list中append與extend方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中random函數(shù)的用法整理大全

    Python中random函數(shù)的用法整理大全

    random庫是使用隨機(jī)數(shù)的Python標(biāo)準(zhǔn)庫,random庫主要用于生成隨機(jī)數(shù),下面這篇文章主要給大家介紹了關(guān)于Python?random函數(shù)用法的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python文件與文件夾常見基本操作總結(jié)

    Python文件與文件夾常見基本操作總結(jié)

    這篇文章主要介紹了Python文件與文件夾常見基本操作,結(jié)合實(shí)例形式總結(jié)分析了Python針對文件與文件夾操作所涉及的常見函數(shù)與方法的使用技巧,需要的朋友可以參考下
    2016-09-09
  • Python二進(jìn)制轉(zhuǎn)十進(jìn)制的常見實(shí)現(xiàn)方法

    Python二進(jìn)制轉(zhuǎn)十進(jìn)制的常見實(shí)現(xiàn)方法

    這篇文章詳細(xì)介紹了在Python中將二進(jìn)制轉(zhuǎn)換為十進(jìn)制的多種方法,包括使用內(nèi)置的int()函數(shù)、手動按位計(jì)算、使用math.pow()輔助計(jì)算、通過位運(yùn)算等,文章還討論了這些方法的性能差異,需要的朋友可以參考下
    2026-01-01
  • Python實(shí)現(xiàn)批量翻譯CAD圖紙

    Python實(shí)現(xiàn)批量翻譯CAD圖紙

    這篇文章主要為大家詳細(xì)介紹了如何通過Python實(shí)現(xiàn)批量翻譯CAD圖紙,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-12-12
  • 利用Python?list列表修改元素

    利用Python?list列表修改元素

    這篇文章主要介紹了利用Python?list列表修改元素,Python?提供了兩種修改列表(list)元素的方法,我們可以每次修改單個元素,也可以每次修改一組元素
    2022-06-06
  • 深入剖析Python的爬蟲框架Scrapy的結(jié)構(gòu)與運(yùn)作流程

    深入剖析Python的爬蟲框架Scrapy的結(jié)構(gòu)與運(yùn)作流程

    這篇文章主要介紹了Python的爬蟲框架Scrapy的結(jié)構(gòu)與運(yùn)作流程,并以一個實(shí)際的項(xiàng)目來講解Scrapy的原理機(jī)制,十分推薦!需要的朋友可以參考下
    2016-01-01
  • Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配

    Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配

    OpenCV 是一個的跨平臺計(jì)算機(jī)視覺庫,可以運(yùn)行在 Linux、Windows 和 Mac OS 操作系統(tǒng)上,這篇文章主要給大家介紹了關(guān)于Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Python實(shí)現(xiàn)列表索引批量刪除的5種方法

    Python實(shí)現(xiàn)列表索引批量刪除的5種方法

    這篇文章主要介紹了Python實(shí)現(xiàn)列表索引批量刪除的5種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Django和Ueditor自定義存儲上傳文件的文件名

    Django和Ueditor自定義存儲上傳文件的文件名

    這篇文章主要介紹了Django和Ueditor自定義存儲上傳文件的文件名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 使用DrissionPage控制360瀏覽器的完美解決方案

    使用DrissionPage控制360瀏覽器的完美解決方案

    在網(wǎng)頁自動化領(lǐng)域,經(jīng)常遇到需要保持登錄狀態(tài)、保留Cookie等場景,今天要分享的方案可以完美解決這個問題:使用DrissionPage直接調(diào)用本地360瀏覽器的用戶數(shù)據(jù),實(shí)現(xiàn)無縫自動化控制,需要的朋友可以參考下
    2025-03-03

最新評論

淄博市| 北碚区| 临安市| 岳普湖县| 景谷| 武鸣县| 铜陵市| 蓬莱市| 唐海县| 资兴市| 林甸县| 余江县| 桃园市| 灌南县| 泰顺县| 宁阳县| 麻城市| 绍兴县| 绥中县| 富锦市| 康保县| 霍州市| 贵南县| 高陵县| 东乌| 铜陵市| 碌曲县| 清水县| 淮阳县| 文成县| 乐至县| 广平县| 理塘县| 西贡区| 松江区| 安多县| 丰顺县| 东辽县| 巴中市| 衡水市| 龙江县|