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

python開發(fā)中兩個(gè)list之間傳值示例

 更新時(shí)間:2021年09月04日 16:03:59   作者:程序員進(jìn)化不脫發(fā)!  
這篇文章主要介紹了python開發(fā)中兩個(gè)list列表之間傳值的方法,有需要的朋友可以借鑒參考下,希望可以有所幫助,希望大家共同學(xué)習(xí),共同進(jìn)步

由于改代碼因?yàn)檫@個(gè)問題卡了半個(gè)小時(shí)特此記錄

首先對(duì)于一個(gè)單層的列表

賦值如下,可以看見,如果直接使用 = 的話。其中一個(gè)變換便會(huì)引起另外一個(gè)變換,這時(shí)因?yàn)檫@兩個(gè)list被python解釋的時(shí)候使用的相同的地址,如下面輸出的 id()中的內(nèi)容,所以此時(shí)如果想讓一個(gè)列表接收到另外一個(gè)列表的值,并且在接收到值后不會(huì)因?yàn)槠渲腥我庖粋€(gè)值的改變而改變,這時(shí)候就需要使用copy方法,這里可以解釋成,當(dāng)使用了copy方法后,python單獨(dú)創(chuàng)建了找個(gè)一個(gè)內(nèi)存區(qū)的地址放了新的那個(gè)值。

a = [ 1,2,3]
b = a
a[0] = a[0] +1
print(a)
print(b)
print(id(a[0]))
print(id(b[0]))
print("*"*20)
a1 = [5,6,7]
b1 = a1.copy()
a1[0] = a1[0] + 1
print(a1)
print(b1)
print(id(a1[0]))
print(id(b1[0]))


輸出

[2, 2, 3]
[2, 2, 3]
140729246982592
140729246982592
********************
[6, 6, 7]
[5, 6, 7]
140729246982720
140729246982688

對(duì)于多層列表

這也是我今天被坑的地方,注意到了第一層,但卻沒有注意到第二層,如下可以看見,雖然我們使用了copy方法,但是內(nèi)層[]則沒有

a = [[1,2,4],[3,5,8],[],[]]
b = a.copy()
print("打印數(shù)組地址:")
print(id(a))
print(id(b))
print("*"*40)
print("打印內(nèi)層元素地址:")
print(id(a[0]))
print(id(b[0]))
print(id(a[0][0]))
print(id(b[0][0]))
print("*"*40)
a.append(4)
a[1][0] = a[1][0] + 1
print(a)
print(b)
print(id(a[4]))

輸出

打印數(shù)組地址:
1938878979528
1938879043976
****************************************
打印內(nèi)層元素地址:
1938877731208
1938877731208
140729246982560
140729246982560
****************************************
[[1, 2, 4], [4, 5, 8], [], [], 4]
[[1, 2, 4], [4, 5, 8], [], []]
140729246982656

在這里插入圖片描述

所以賦值操作應(yīng)該為:

import copy
a = [[1,2,4],[3,5,8],[],[]]
# b = a.copy()
b =  copy.deepcopy(a)

即使用 copy.deepcopy 進(jìn)行賦值操作,這時(shí)候當(dāng)對(duì)a的內(nèi)層元素進(jìn)行操作之后,b不會(huì)跟著改變,
不過這里需要注意的是(不得不說這個(gè)設(shè)計(jì)節(jié)省內(nèi)存真的很精妙),如果不更改a和b內(nèi)部元素的值的話,那么a和b內(nèi)部元素的值他們的地址還是相同的,只有在一方更改了自身地址內(nèi)的值的時(shí)候,地址才會(huì)更改。

import copy
a = [[1,2,4],[3,5,8],[],[]]
# b = a.copy()
b =  copy.deepcopy(a)
print("打印數(shù)組地址:")
print(id(a))
print(id(b))
print("*"*40)
print("打印內(nèi)層元素地址:")
print(id(a[0]))
print(id(b[0]))
print("0"*50)
print(id(a[0][0]))
print(id(b[0][0]))
print("10"*50)
print("\n")
print(a[1][0])
print(b[1][0])
print(id(a[1][0]))
print(id(b[1][0]))
print("10"*50)
print("\n")
# print("*"*40)
# a.append(4)
a[1][0] = a[1][0] + 1
#
# print(a)
# print(b)
# print(id(a[4]))
# print("\n")
print("10"*50)
print(a[1][0])
print(b[1][0])
print(id(a[1][0]))
print(id(b[1][0]))
print("10"*50)
print("\n")
b[1][0] = b[1][0] + 2
print(id(b[1][0]))

輸出

打印數(shù)組地址:
1696261290248
1696261352200
****************************************
打印內(nèi)層元素地址:
1696257692040
1694368707272
00000000000000000000000000000000000000000000000000
140729133343136
140729133343136
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010

3
3
140729133343200
140729133343200
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010

1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
4
3
140729133343232
140729133343200
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010

140729133343264

以上就是python開發(fā)中兩個(gè)list之間傳值示例的詳細(xì)內(nèi)容,更多關(guān)于python中l(wèi)ist列表兩表傳值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Sentry的安裝、配置、使用教程(Sentry日志手機(jī)系統(tǒng))

    Sentry的安裝、配置、使用教程(Sentry日志手機(jī)系統(tǒng))

    Sentry?是一個(gè)實(shí)時(shí)事件日志記錄和聚合平臺(tái),由于ExceptionLess官方提供的客戶端只有.Net/.NetCore平臺(tái)和js的,本文繼續(xù)介紹另一個(gè)日志收集系統(tǒng)Sentry,感興趣的朋友一起看看吧
    2022-07-07
  • 使用OpenCV實(shí)現(xiàn)仿射變換—縮放功能

    使用OpenCV實(shí)現(xiàn)仿射變換—縮放功能

    這篇文章主要介紹了使用OpenCV實(shí)現(xiàn)仿射變換—縮放功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • pip安裝py_zipkin時(shí)提示的SSL問題對(duì)應(yīng)

    pip安裝py_zipkin時(shí)提示的SSL問題對(duì)應(yīng)

    今天小編就為大家分享一篇關(guān)于pip安裝py_zipkin時(shí)提示的SSL問題對(duì)應(yīng),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Python使用matplotlib繪制隨機(jī)漫步圖

    Python使用matplotlib繪制隨機(jī)漫步圖

    這篇文章主要為大家詳細(xì)介紹了使用Python生成隨機(jī)漫步數(shù)據(jù),使用matplotlib繪制隨機(jī)漫步圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python實(shí)現(xiàn)將藍(lán)底照片轉(zhuǎn)化為白底照片功能完整實(shí)例

    Python實(shí)現(xiàn)將藍(lán)底照片轉(zhuǎn)化為白底照片功能完整實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)將藍(lán)底照片轉(zhuǎn)化為白底照片功能,結(jié)合完整實(shí)例形式分析了Python基于cv2庫進(jìn)行圖形轉(zhuǎn)換操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • django vue3實(shí)現(xiàn)大文件分段續(xù)傳(斷點(diǎn)續(xù)傳)

    django vue3實(shí)現(xiàn)大文件分段續(xù)傳(斷點(diǎn)續(xù)傳)

    本文介紹了使用Django和Vue3實(shí)現(xiàn)大文件分段上傳(斷點(diǎn)續(xù)傳)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • python+opencv實(shí)現(xiàn)車道線檢測(cè)

    python+opencv實(shí)現(xiàn)車道線檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)車道線檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python將博客內(nèi)容html導(dǎo)出為Markdown格式

    Python將博客內(nèi)容html導(dǎo)出為Markdown格式

    Python將博客內(nèi)容html導(dǎo)出為Markdown格式,通過博客url地址抓取文章,分析并提取出文章標(biāo)題和內(nèi)容,將內(nèi)容構(gòu)建成html,再轉(zhuǎn)換為Markdown文件
    2025-04-04
  • 關(guān)于DataFrame數(shù)據(jù)的查詢和編輯

    關(guān)于DataFrame數(shù)據(jù)的查詢和編輯

    在使用pandas處理DataFrame時(shí),可通過列索引標(biāo)簽獲取列數(shù)據(jù),行數(shù)據(jù)的獲取可以利用行索引或位置切片,如iloc和loc方法,增加數(shù)據(jù)時(shí),可通過append方法增加行,直接賦值增加列,刪除數(shù)據(jù)則通過drop方法,通過設(shè)置axis參數(shù)確定是刪除行還是列
    2024-09-09
  • 詳解Python中生成隨機(jī)數(shù)據(jù)的示例詳解

    詳解Python中生成隨機(jī)數(shù)據(jù)的示例詳解

    在日常工作編程中存在著各種隨機(jī)事件,同樣在編程中生成隨機(jī)數(shù)字的時(shí)候也是一樣。每當(dāng)在?Python?中生成隨機(jī)數(shù)據(jù)、字符串或數(shù)字時(shí),最好至少大致了解這些數(shù)據(jù)是如何生成的。所以本文將詳細(xì)為大家講解一下Python是如何生成隨機(jī)數(shù)據(jù),需要的可以參考一下
    2022-04-04

最新評(píng)論

柘荣县| 麻江县| 望城县| 胶州市| 抚州市| 东台市| 伊宁县| 巩留县| 宿迁市| 鲁甸县| 定陶县| 保亭| 邵阳县| 清原| 南漳县| 虎林市| 墨竹工卡县| 广安市| 通辽市| 抚州市| 云浮市| 双流县| 乐亭县| 万全县| 滨州市| 遂平县| 蒲江县| 犍为县| 边坝县| 达拉特旗| 平顶山市| 炎陵县| 上饶县| 信阳市| 灵宝市| 上饶市| 大悟县| 江阴市| 滦南县| 石阡县| 禹城市|