国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python 列表 append()函數(shù)使用詳解

這篇具有很好參考價(jià)值的文章主要介紹了Python 列表 append()函數(shù)使用詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

「作者主頁(yè)」:士別三日wyx

1. 基本使用

append() 函數(shù)可以向列表末尾添加元素

語(yǔ)法

list.append( element )

參數(shù)

  • element:任何類(lèi)型的元素

實(shí)例:向列表末尾添加一個(gè)元素

name_list = ['zhangsan', 'lisi', 'wangwu']
name_list.append('zhaoliu')
print(name_list)

輸出:

['zhangsan', 'lisi', 'wangwu', 'zhaoliu']

需要注意的是, append() 函數(shù)添加的元素在列表的「末尾」而不是任意位置

2. 任意類(lèi)型元素

append() 函數(shù)可以向列表末尾添加「任意類(lèi)型」的元素

實(shí)例:添加普通類(lèi)型(數(shù)值、字符串)元素

list1 = ['zhangsan', 'lisi', 'wangwu']
list1.append(1)  # 添加整形
print(list1)
list1.append('str')  # 添加字符型
print(list1)

輸出:

['zhangsan', 'lisi', 'wangwu', 1]
['zhangsan', 'lisi', 'wangwu', 1, 'str']

實(shí)例:添加集合類(lèi)型(列表,元祖)元素

list1 = ['zhangsan']
list1.append([1,2,3])  # 添加列表
print(list1)
list1.append((4,5,6))  # 添加元祖
print(list1)

輸出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3], (4, 5, 6)]

3. 列表同步

????????使用 append() 函數(shù)添加列表時(shí),是添加列表的「引用地址」而不是添加列表內(nèi)容,當(dāng)被添加的列表發(fā)生變化時(shí),添加后的列表也會(huì)同步發(fā)生變化。

list1 = ['zhangsan']
a = [1,2,3]
list1.append(a)  # 列表list1添加列表a
print(list1)
a.append(4)  # 列表a發(fā)生變化
list1.append(a)
print(list1)  # 列表list1也會(huì)同步變化

輸出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3, 4], [1, 2, 3, 4]]

3.1 原理剖析

????????從輸出結(jié)果可以發(fā)現(xiàn),當(dāng)添加的列表發(fā)生變化時(shí),先前添加的內(nèi)容也發(fā)生了改變,這會(huì)使程序出現(xiàn)意料之外的問(wèn)題,我們使用 id() 函數(shù)驗(yàn)證一下

list1 = ['zhangsan']
a = [1,2,3]
list1.append(a)
print(a, id(a))  # 列表a的引用地址
print(list1[1], id(list1[1]))  # 添加到列表后的引用地址

輸出:

[1, 2, 3] 2992145244608
[1, 2, 3] 2992145244608

3.2 解決方案

從輸出結(jié)果可以看出,問(wèn)題的原因就在引用地址上面。這里補(bǔ)充兩個(gè)概念

  1. 淺拷貝:拷貝這個(gè)對(duì)象的引用地址
  2. 深拷貝:拷貝對(duì)象的內(nèi)容

使用 copy.deepcopy() 函數(shù)深拷貝列表的內(nèi)容而不是列表的引用地址

list1 = ['zhangsan']
a = [1,2,3]
list1.append(copy.deepcopy(a))
print(a, id(a))  # 列表a的引用地址
print(list1[1], id(list1[1]))  # 添加到列表后的引用地址

輸出:

[1, 2, 3] 1963457096704
[1, 2, 3] 1963458936640

由輸出結(jié)果可以確定,添加后的列表不再引用源列表的地址
使用「深拷貝」添加列表的內(nèi)容而不是引用地址,從而解決列表同步的問(wèn)題

list1 = ['zhangsan']
a = [1,2,3]
list1.append(copy.deepcopy(a))  # 深拷貝列表a
print(list1)
a.append(4)  # 列表a發(fā)生變化
list1.append(copy.deepcopy(a))  # 深拷貝列表a
print(list1)  # 列表list1不再同步變化

輸出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3], [1, 2, 3, 4]]

列表同步問(wèn)題解決了

4. append()與extend()的區(qū)別

  1. append添加的是元素本身,而extend添加的是元素的值
  2. append可以添加所有類(lèi)型元素,而extend只能添加序列

比如,添加列表時(shí),append會(huì)添加整個(gè)列表,而extend只會(huì)添加列表中的值

list1 = ['zhangsan', 'lisi', 'wangwu']
list2 = ['zhangsan', 'lisi', 'wangwu']
list1.append([1,2,3])
print('append添加整個(gè)列表:', list1)
list2.extend([1,2,3])
print('extend添加列表的值:', list2)

輸出:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-403143.html

append添加整個(gè)列表: ['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]
extend添加列表的值: ['zhangsan', 'lisi', 'wangwu', 1, 2, 3]

到了這里,關(guān)于Python 列表 append()函數(shù)使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python 列表 reverse()函數(shù)使用詳解

    Python 列表 reverse()函數(shù)使用詳解

    「作者主頁(yè)」: 士別三日wyx 「作者簡(jiǎn)介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 小白零基礎(chǔ)《Python入門(mén)到精通》 reverse() 可以 「反轉(zhuǎn)」 列表中的函數(shù) 語(yǔ)法 返回值 None ,沒(méi)有返回值,會(huì)修改列表,反轉(zhuǎn)元素順序。 實(shí)例:反

    2024年02月13日
    瀏覽(18)
  • Python 列表 insert()函數(shù)使用詳解

    「作者主頁(yè)」: 士別三日wyx 「作者簡(jiǎn)介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 小白零基礎(chǔ)《Python入門(mén)到精通》 insert() 可以把對(duì)象 「插入」 列表的 「指定位置」 語(yǔ)法 參數(shù) index :(必選)索引位置 obj :(可選)需要插入

    2024年02月16日
    瀏覽(27)
  • Python愛(ài)好者社區(qū)歷史文章列表(每周append更新一次)

    2月22日更新: ? 0.Python從零開(kāi)始系列連載: Python從零開(kāi)始系列連載(1)——安裝環(huán)境 Python從零開(kāi)始系列連載(2)——jupyter的常用操作 Python從零開(kāi)始系列連載(3)——Python的基本數(shù)據(jù)類(lèi)型(上) Python從零開(kāi)始系列連載(4)——Python的基本數(shù)據(jù)類(lèi)型(下) Python從零開(kāi)始系列

    2024年02月08日
    瀏覽(24)
  • Python Pandas中的append方法詳解

    本文將詳細(xì)介紹Python Pandas中的 append 方法,包括其原理、用法、示例(含結(jié)果輸出)、源碼分析和官方鏈接。 目錄 原理 用法 示例(含結(jié)果輸出) 源碼分析 官方鏈接 原理 append 方法用于在Pandas DataFrame中追加行數(shù)據(jù)。它將另一個(gè)DataFrame、Series或類(lèi)似字典的對(duì)象的數(shù)據(jù)添加到調(diào)

    2024年02月05日
    瀏覽(21)
  • 【Python床頭書(shū)】python Pandas中的append方法詳解

    本文將詳細(xì)介紹Python Pandas中的 append 方法,包括其原理、用法、示例(含結(jié)果輸出)、源碼分析和官方鏈接。 目錄 原理 用法 示例(含結(jié)果輸出) 源碼分析 官方鏈接 原理 append 方法用于在Pandas DataFrame中追加行數(shù)據(jù)。它將另一個(gè)DataFrame、Series或類(lèi)似字典的對(duì)象的數(shù)據(jù)添加到調(diào)

    2024年02月03日
    瀏覽(20)
  • Python中的append()、add()、extend()、update()用法詳解

    在列表中, append函數(shù) 用于向列表的末尾添加一個(gè)元素。例如: 需要注意的是,append函數(shù)只能添加一個(gè)元素,如果要添加多個(gè)元素,可以使用 extend函數(shù) 或者使用 加號(hào)運(yùn)算符 : 在集合中,append函數(shù)并不存在。如果要向集合中添加元素,可以使用 add函數(shù) : 需要注意的是,集

    2024年04月25日
    瀏覽(23)
  • Java中append方法的使用詳解

    在Java編程中,字符串是一種常見(jiàn)的數(shù)據(jù)類(lèi)型,而StringBuilder類(lèi)則提供了一種方便的方式來(lái)處理字符串的拼接和修改。在StringBuilder類(lèi)中,我們可以使用append方法來(lái)追加字符串,實(shí)現(xiàn)動(dòng)態(tài)地構(gòu)建和修改字符串內(nèi)容。 append方法的基本語(yǔ)法如下: 該方法接受一個(gè)字符串參數(shù),并將其

    2024年02月04日
    瀏覽(17)
  • 【深度學(xué)習(xí)】 Python 和 NumPy 系列教程(三):Python容器:1、列表List詳解(初始化、索引、切片、更新、刪除、常用函數(shù)、拆包、遍歷)

    【深度學(xué)習(xí)】 Python 和 NumPy 系列教程(三):Python容器:1、列表List詳解(初始化、索引、切片、更新、刪除、常用函數(shù)、拆包、遍歷)

    目錄 一、前言 二、實(shí)驗(yàn)環(huán)境 三、Python容器(Containers) 0、容器介紹 1、列表(List) 1. 初始化 a. 創(chuàng)建空列表 b. 使用現(xiàn)有元素初始化列表 c. 使用列表生成式 d. 復(fù)制列表 2. 索引和切片 a. 索引 b. 負(fù)數(shù)索引 c. 切片 3. 常用操作(更新、刪除) a. 更新單個(gè)元素 b. 更新切片 c. 刪除單

    2024年02月09日
    瀏覽(25)
  • 爬蟲(chóng)010_列表高級(jí)_添加_append_extend_修改_查詢_in_not int_刪除_del_pop_remove---python工作筆記029

    爬蟲(chóng)010_列表高級(jí)_添加_append_extend_修改_查詢_in_not int_刪除_del_pop_remove---python工作筆記029

    然后再來(lái)看列表操作 ? 首先添加append方法 ? 然后插入,坐標(biāo)是要插入的下標(biāo),右邊是插入的內(nèi)容 ? 看結(jié)果 ? 1,2,3,4,5,6 然后這個(gè)extend,是逐個(gè)插入,放到后邊 然后是修改,直接對(duì)下標(biāo)賦值 ? 看結(jié)果/

    2024年02月14日
    瀏覽(21)
  • Golang 入門(mén):詳談append函數(shù)

    Golang 入門(mén):詳談append函數(shù)

    上節(jié)中,我們講到了go語(yǔ)言中append函數(shù)的使用,有疑問(wèn)的同學(xué)可以去主頁(yè)翻看一下,這里我們不做贅述。 ①首先我們來(lái)定義一個(gè)切片iArray1,并打印它的值來(lái)看一下。 我們可以看到,就是平平無(wú)奇的兩行代碼,定義變量和打印輸出。哈哈哈 ② 然后,我們來(lái)定義切片iArray2,并

    2024年02月15日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包