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

python數(shù)組的復(fù)制與列表中的pop

 更新時(shí)間:2022年04月06日 11:20:30   投稿:hqx  
這篇文章主要介紹了python數(shù)組的復(fù)制與列表中的pop,?Python?中復(fù)制數(shù)組有只需使用賦值運(yùn)算符、淺拷貝、深拷貝三種方法,下文詳細(xì)內(nèi)容需要的小伙伴可以參考一下

讓我們看看如何在 Python 中復(fù)制數(shù)組。 有 3 種復(fù)制數(shù)組的方法:

  • 只需使用賦值運(yùn)算符。
  • 淺拷貝
  • 深拷貝

1 使用賦值運(yùn)算符

我們可以使用賦值運(yùn)算符 (=) 創(chuàng)建數(shù)組的副本。

語(yǔ)法:

new_arr = old_ arr

在 Python 中,Assignment 語(yǔ)句不復(fù)制對(duì)象,它們?cè)谀繕?biāo)和對(duì)象之間創(chuàng)建綁定。 當(dāng)我們使用 = 運(yùn)算符時(shí),用戶認(rèn)為這會(huì)創(chuàng)建一個(gè)新對(duì)象; 好吧,事實(shí)并非如此。 它只創(chuàng)建一個(gè)共享原始對(duì)象引用的新變量。

示例:

from numpy import *??????????????????
?
arr1 = array([2, 6, 9, 4])????????????
?
print(id(arr1))
?
arr2 = arr1?????????????????????????
?
print(id(arr2))
?
arr1[1] = 7????????????????????????
?
print(arr1)
print(arr2)

python:數(shù)組的復(fù)制與列表中的pop()_賦值運(yùn)算符

我們可以看到兩個(gè)數(shù)組都引用了同一個(gè)對(duì)象。

2 淺拷貝

一個(gè)淺副本意味著構(gòu)造一個(gè)新的集合對(duì)象,然后用對(duì)原始中找到的子對(duì)象的引用填充它。 復(fù)制過(guò)程不會(huì)重復(fù),因此不會(huì)創(chuàng)建子對(duì)象本身的副本。 在淺拷貝的情況下,對(duì)象的引用被復(fù)制在另一個(gè)對(duì)象中。 這意味著對(duì)對(duì)象的副本所做的任何更改都會(huì)在原始對(duì)象中反映。 我們將使用視圖view()函數(shù)來(lái)實(shí)現(xiàn)淺副本。

示例:

from numpy import *?????????????????
??
arr1 = array([2, 6, 9, 4])
?
print(id(arr1))
?
arr2 = arr1.view()?
?
print(id(arr2))
??
arr1[1] = 7???????????????????????
??
print(arr1)
print(arr2)

python:數(shù)組的復(fù)制與列表中的pop()_數(shù)組_02

這次雖然2個(gè)數(shù)組引用了不同的對(duì)象,但在更改一個(gè)數(shù)組值的時(shí)候,另一個(gè)的值也被更改。

3 深度拷貝

深度拷貝是一個(gè)過(guò)程,其中復(fù)制過(guò)程遞歸地發(fā)生。 它意味著首先構(gòu)建一個(gè)新的存儲(chǔ)對(duì)象,然后用原稿中找到的子對(duì)象的副本遞歸地填充它。 在深度拷貝的情況下,將對(duì)象的副本復(fù)制到另一個(gè)對(duì)象中。 這意味著對(duì)對(duì)象的副本所做的任何更改都不反映在原始對(duì)象中。 我們將使用copy()函數(shù)來(lái)實(shí)現(xiàn)深度副本。

示例:

from numpy import *?????????????????
??
arr1 = array([2, 6, 9, 4])
?
print(id(arr1))
?
arr2 = arr1.copy()
?
print(id(arr2))
??
arr1[1] = 7???????????????????????
??
print(arr1)
print(arr2)

python:數(shù)組的復(fù)制與列表中的pop()_數(shù)組_03

這次在一個(gè)數(shù)組中所做的更改不會(huì)映射在其他數(shù)組中。

4 深度拷貝進(jìn)階

如果您正在處理numpy矩陣,則numpy.copy()將為您提供深度拷貝。 但是,如果您的矩陣是列表的列表,那么請(qǐng)考慮旋轉(zhuǎn)圖像90度的任務(wù)中使用以下方法:

示例:

import copy
?
def rotate_matrix(image):
????copy_image_one = copy.deepcopy(image)
????print("Original", matrix)
????print("Copy of original", copy_image_one)
????N = len(matrix)
?
????for row in range(N):
????????for column in range(N):
????????????copy_image_one[row][column] = image[row][N-column-1]
?
????print("After modification")
????print("Original", matrix)
????print("Copy", copy_image_one)
?
????copy_image_two = [list(row) for row in copy_image_one]
?
????for row in range(N):
????????for column in range(N):
????????????copy_image_two[column][row] = copy_image_one[row][column]
?
????return copy_image_two
?
?
if __name__ == "__main__":
????matrix = [[1, 2, 3],
??????????????[4, 5, 6],
??????????????[7, 8, 9]]
????print("Rotated image", rotate_matrix(matrix))

python:數(shù)組的復(fù)制與列表中的pop()_數(shù)組_04

Python列表POP()是Python中的內(nèi)置函數(shù),該函數(shù)刪除并返回列表或給定索引值的最后一個(gè)值。

語(yǔ)法:

list_name.pop(index)

參數(shù):

  • index(可選) - 彈出并刪除索引處的值。 如果未給出索引,則會(huì)彈出并刪除最后一個(gè)元素。

返回值:列表中的最后一個(gè)值或給定的索引值。

例外:當(dāng)索引超出范圍時(shí),它會(huì)返回IndexError。

例一:

list1 = [ 1, 2, 3, 4, 5, 6 ]
?
print(list1.pop())
?
print("New List after pop : ", list1, "\n")
?
list2 = [1, 2, 3, ('cat', 'bat'), 4]
?
print(list2.pop())
print(list2.pop())
print(list2.pop())
?
print("New List after pop : ", list2, "\n")

python:數(shù)組的復(fù)制與列表中的pop()_數(shù)組_05

例二:

list1 = [ 1, 2, 3, 4, 5, 6 ]
?
print(list1.pop(), list1)

print(list1.pop(0), list1)

python:數(shù)組的復(fù)制與列表中的pop()_賦值運(yùn)算符_06

例三:

list1 = [ 1, 2, 3, 4, 5, 6 ]
print(list1.pop(8))

python:數(shù)組的復(fù)制與列表中的pop()_python_07

例四:

fruit = [['Orange','Fruit'],['Banana','Fruit'], ['Mango', 'Fruit']]
consume = ['Juice', 'Eat']
possible = []

for item in fruit :

????for use in consume :
?????????
????????item.append(use)
????????possible.append(item[:])
????????item.pop(-1)
print(possible)

python:數(shù)組的復(fù)制與列表中的pop()_python_08

到此這篇關(guān)于python數(shù)組的復(fù)制與列表中的pop的文章就介紹到這了,更多相關(guān)python數(shù)組復(fù)制與pop()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片爬蟲(chóng)

    使用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片爬蟲(chóng)

    在本文中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個(gè)簡(jiǎn)單的圖片爬蟲(chóng),我們將利用requests庫(kù)來(lái)發(fā)送HTTP請(qǐng)求,BeautifulSoup庫(kù)來(lái)解析HTML頁(yè)面,以及os和shutil庫(kù)來(lái)下載和保存圖片,通過(guò)這個(gè)教程,你將學(xué)會(huì)如何爬取網(wǎng)頁(yè)上的圖片并保存到本地,需要的朋友可以參考下
    2024-02-02
  • python pygame模塊編寫(xiě)飛機(jī)大戰(zhàn)

    python pygame模塊編寫(xiě)飛機(jī)大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了python pygame模塊編寫(xiě)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python 利用zmail庫(kù)發(fā)送郵件

    python 利用zmail庫(kù)發(fā)送郵件

    這篇文章主要介紹了python 如何利用zmail庫(kù)發(fā)送郵件,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python操作word實(shí)現(xiàn)添加文字或圖片水印

    Python操作word實(shí)現(xiàn)添加文字或圖片水印

    這篇文章主要為大家詳細(xì)介紹了如何使用Spire.Doc for Python在程序中的輕松添加文字和圖像水印到Word文檔,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-10-10
  • Python備份Mysql腳本

    Python備份Mysql腳本

    特點(diǎn)是多平臺(tái),一個(gè)腳本內(nèi)可以備份多個(gè)數(shù)據(jù)庫(kù),并分別打包上傳到ftp進(jìn)行備份。調(diào)用了mysqldump及tar來(lái)進(jìn)行數(shù)據(jù)庫(kù)dump及打包。 具體參數(shù)說(shuō)明參見(jiàn)源文件
    2008-08-08
  • Python字符串處理實(shí)現(xiàn)單詞反轉(zhuǎn)

    Python字符串處理實(shí)現(xiàn)單詞反轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Python字符串處理實(shí)現(xiàn)單詞反轉(zhuǎn)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • PyCharm活動(dòng)模板設(shè)置步驟實(shí)現(xiàn)

    PyCharm活動(dòng)模板設(shè)置步驟實(shí)現(xiàn)

    很多情況,我們?cè)趯?xiě)代碼都會(huì)存在經(jīng)常要寫(xiě)一些簡(jiǎn)單且又重復(fù)的代碼,Pycharm中的活動(dòng)模板可以把這些使用頻率很高的一些代碼打包起來(lái)設(shè)置一個(gè)快捷鍵,本文就來(lái)介紹一下如何實(shí)現(xiàn)
    2023-12-12
  • python3.6生成器yield用法實(shí)例分析

    python3.6生成器yield用法實(shí)例分析

    這篇文章主要介紹了python3.6生成器yield用法,結(jié)合實(shí)例形式分析了Python3.6中生成器yield的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Python OpenCV使用閾值方法進(jìn)行圖像處理

    Python OpenCV使用閾值方法進(jìn)行圖像處理

    圖像閾值處理是計(jì)算機(jī)視覺(jué)和圖像處理中一種非?;A(chǔ)而重要的技術(shù),通過(guò)閾值化操作,可以將圖像的像素值按照一定標(biāo)準(zhǔn)分為兩類(lèi),在 Python 中,OpenCV 提供了便捷的函數(shù)來(lái)實(shí)現(xiàn)各種閾值處理技術(shù),本文將深入介紹如何在 OpenCV 中使用閾值方法進(jìn)行圖像處理
    2024-12-12
  • 基于python 微信小程序之獲取已存在模板消息列表

    基于python 微信小程序之獲取已存在模板消息列表

    這篇文章主要介紹了基于python 微信小程序之獲取已存在模板消息列表的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

哈尔滨市| 商城县| 肃北| 汪清县| 常山县| 聂拉木县| 平和县| 鄂温| 普宁市| 平阳县| 舞钢市| 南皮县| 岳阳市| 宁武县| 密山市| 康保县| 星子县| 惠来县| 扎鲁特旗| 北流市| 揭阳市| 贵溪市| 鄂州市| 景洪市| 永平县| 台湾省| 平乡县| 和静县| 澜沧| 南澳县| 长泰县| 元阳县| 阿拉善右旗| 温州市| 广河县| 朝阳县| 隆回县| 宣汉县| 美姑县| 射洪县| 潮安县|