欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)裝飾器原理與用法詳解

    Python函數(shù)裝飾器原理與用法詳解

    這篇文章主要介紹了Python函數(shù)裝飾器原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python裝飾器的原理、功能、分類、常見操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • 面向新手解析python Beautiful Soup基本用法

    面向新手解析python Beautiful Soup基本用法

    這篇文章主要介紹了面向新手解析python Beautiful Soup基本用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 關(guān)于python3.7安裝matplotlib始終無(wú)法成功的問(wèn)題的解決

    關(guān)于python3.7安裝matplotlib始終無(wú)法成功的問(wèn)題的解決

    這篇文章主要介紹了關(guān)于python3.7安裝matplotlib始終無(wú)法成功的問(wèn)題的解決,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python調(diào)用Jar包的兩種方式小結(jié)

    Python調(diào)用Jar包的兩種方式小結(jié)

    這篇文章主要介紹了Python調(diào)用Jar包的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • plt.subplot()參數(shù)及使用介紹

    plt.subplot()參數(shù)及使用介紹

    本文主要介紹了plt.subplot()參數(shù)及使用介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python遠(yuǎn)程方法調(diào)用實(shí)現(xiàn)過(guò)程解析

    Python遠(yuǎn)程方法調(diào)用實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Python遠(yuǎn)程方法調(diào)用實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • GCN?圖神經(jīng)網(wǎng)絡(luò)使用詳解?可視化?Pytorch

    GCN?圖神經(jīng)網(wǎng)絡(luò)使用詳解?可視化?Pytorch

    這篇文章主要介紹了GCN?圖神經(jīng)網(wǎng)絡(luò)使用詳解?可視化?Pytorch,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python模塊之paramiko實(shí)例代碼

    python模塊之paramiko實(shí)例代碼

    這篇文章主要介紹了python模塊之paramiko,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python實(shí)現(xiàn)的json文件讀取及中文亂碼顯示問(wèn)題解決方法

    Python實(shí)現(xiàn)的json文件讀取及中文亂碼顯示問(wèn)題解決方法

    這篇文章主要介紹了Python實(shí)現(xiàn)的json文件讀取及中文亂碼顯示問(wèn)題解決方法,涉及Python針對(duì)json文件的讀取載入、編碼轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 淺談python處理json和redis hash的坑

    淺談python處理json和redis hash的坑

    這篇文章主要介紹了淺談python處理json和redis hash的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07

最新評(píng)論