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

Python之列表的append()方法最容易踩的坑

 更新時間:2022年11月03日 16:25:00   作者:HerrFu  
這篇文章主要介紹了Python之列表的append()方法最容易踩的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python列表的append()方法踩坑

在這之前,我一直認為append()只是個將一個對象添加到列表尾部的方法,但是今天之后,我對它有了一個新的認識。

一般情況下,我們都是這樣使用:

list = [1,2,3]
list.append(4)
# list列表就變成了[1,2,3,4]

但是在后來的使用中,遇到了像下面這樣的問題:

a = [1,2]
b = []

b.append(a)
print(b)

a.append(3)
print(b)
# 此時b的結(jié)果為[[1,2,3]]
# 是的,你沒看錯,就是[[1,2,3]]

?明明兩次打印之間沒有對b進行任何操作,那么b為什么會發(fā)生變化,問題肯定是出在了append方法上。

通過一系列的資料查詢,發(fā)現(xiàn)append方法是淺拷貝方法,什么是淺拷貝呢?

官方一點的解釋就是:

在Python中,對象賦值實際上是對象的引用,當創(chuàng)建一個對象,然后把它賦值給另一個變量的時候,Python并沒有拷貝這個對象,而只是拷貝了這個對象的引用,這就是淺拷貝。

什么,你說你還沒懂淺拷貝?沒關(guān)系,下面還有:

a = 1
b = 1

print(id(a))
print(id(b))
# 此時你會發(fā)現(xiàn),a和b在內(nèi)存中的地址居然是一樣的

?因為在Python中,先是生成了對象,然后才是變量對對象的引用。比如,1是一個對象,然后a和b再分別對1進行引用,由于常數(shù)是不可變類型,所以1的內(nèi)存空間是一樣的,所以a和b共用一塊內(nèi)存空間。

?形象的來解釋就是:

有一個盒子,盒子里面放著1,然后a和b對1進行引用的時候就是直接把a和b的標簽貼到這個盒子上。

回歸正題:

a = [1,2]
b = []

b.append(a)
print(b)

a.append(3)
print(b)
# 開始時a這個盒子等于[1,2],b這個盒子等于[]
# 使用b.append(a)相當于將盒子a放入盒子b中
# 所以再使用a.append(3)的時候,b也會跟著一起改變呀?。?!

Python列表的append函數(shù)

append的功能

將一個元素添加到當前列表中

append的用法

用法:list.append(new_item)

參數(shù):new_item:添加進列表的新的元素(成員)

In [19]: names = ['insane']
In [20]: names.append('loafer')
In [21]: print(names)
['insane', 'loafer']

append的注意事項

  • 被添加的元素只會被添加到末尾變量
  • append函數(shù)是在原有列表的基礎(chǔ)上添加,不需要額外添加新的變量

實戰(zhàn)

每次只能添加一個變量

# coding:utf-8

books = []
print(id(books))
books.append('python')
print(books)
print(id(books))

number = 1.1
tuple_test = (1,)
dict_test = {'name': 'insane'}

books.append(number)  # 每次只能加入一個變量
books.append(tuple_test)
books.append(dict_test)
print(books)

books.append('django')
books.append(1)
print(books)
print(id(books))

2029563540224
['python']
2029563540224
['python', 1.1, (1,), {'name': 'insane'}]
['python', 1.1, (1,), {'name': 'insane'}, 'django', 1]
2029563540224

Process finished with exit code 0

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Windows自動化Python?pyautogui?RPA操作實現(xiàn)

    Windows自動化Python?pyautogui?RPA操作實現(xiàn)

    本文詳細介紹了使用Python的pyautogui庫進行Windows自動化操作的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • 教你如何使用Python selenium

    教你如何使用Python selenium

    今天教大家如何使用Python selenium,本文會以藝龍旅游網(wǎng)為對象,進行selenium的學習,目的:爬取藝龍網(wǎng)中南陽市唐河縣的酒店信息,包括:名字,電話,標間價格,地址,介紹,圖片,需要的朋友可以參考下
    2021-06-06
  • 解決Tensorflow占用GPU顯存問題

    解決Tensorflow占用GPU顯存問題

    今天小編就為大家分享一篇解決Tensorflow占用GPU顯存問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 使用Python字符串訪問與修改局部變量的實現(xiàn)代碼

    使用Python字符串訪問與修改局部變量的實現(xiàn)代碼

    這篇文章主要介紹了使用Python字符串訪問與修改局部變量,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?在運維和辦公自動化中扮演著重要的角色,PySimpleGUI?是一款很棒的自動化輔助模塊,讓你更輕松的實現(xiàn)日常任務(wù)的自動化,下面通過本文給大家介紹下Python?庫?PySimpleGUI?制作自動化辦公小軟件的過程,一起看看吧
    2021-12-12
  • Python編程實現(xiàn)控制cmd命令行顯示顏色的方法示例

    Python編程實現(xiàn)控制cmd命令行顯示顏色的方法示例

    這篇文章主要介紹了Python編程實現(xiàn)控制cmd命令行顯示顏色的方法,結(jié)合實例形式分析了Python針對命令行字符串顯示顏色屬性相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Python中的enumerate函數(shù)示例詳解

    Python中的enumerate函數(shù)示例詳解

    enumerate?是一個非常有用的函數(shù),它允許你在迭代過程中方便地獲取元素及其對應(yīng)的索引,使代碼更簡潔、更Pythonic,這篇文章主要介紹了Python中的enumerate函數(shù)示例詳解,需要的朋友可以參考下
    2023-08-08
  • Django搭建項目實戰(zhàn)與避坑細節(jié)詳解

    Django搭建項目實戰(zhàn)與避坑細節(jié)詳解

    這篇文章主要給大家介紹了關(guān)于Django搭建項目實戰(zhàn)與避坑細節(jié)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python處理寫入數(shù)據(jù)代碼講解

    python處理寫入數(shù)據(jù)代碼講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python處理寫入數(shù)據(jù)代碼講解內(nèi)容,有興趣的朋友們可以學習下。
    2020-10-10
  • 講解Python中的標識運算符

    講解Python中的標識運算符

    這篇文章主要介紹了講解Python中的標識運算符,是Python學習當中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論

达拉特旗| 漳浦县| 鸡西市| 沿河| 玉环县| 河西区| 北海市| 双江| 壶关县| 改则县| 玉田县| 通榆县| 万盛区| 琼结县| 竹溪县| 哈尔滨市| 遂平县| 富源县| 寿光市| 张家口市| 东台市| 黄龙县| 梁山县| 福州市| 泰州市| 云龙县| 文成县| 承德县| 嘉义市| 汤阴县| 铁岭县| 花莲市| 巴中市| 化州市| 贡山| 将乐县| 萨嘎县| 西华县| 武定县| 红桥区| 九台市|