<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
讓我們看看如何在 Python 中複製陣列。 有 3 種複製陣列的方法:
我們可以使用賦值運運算元 (=) 建立陣列的副本。
語法:
new_arr = old_ arr
在 Python 中,Assignment
語句不復制物件,它們在目標和物件之間建立繫結。 當我們使用 = 運運算元時,使用者認為這會建立一個新物件; 好吧,事實並非如此。 它只建立一個共用原始物件參照的新變數。
範例:
from numpy import * arr1 = array([2, 6, 9, 4]) print(id(arr1)) arr2 = arr1 print(id(arr2)) arr1[1] = 7 print(arr1) print(arr2)
我們可以看到兩個陣列都參照了同一個物件。
一個淺副本意味著構造一個新的集合物件,然後用對原始中找到的子物件的參照填充它。 複製過程不會重複,因此不會建立子物件本身的副本。 在淺拷貝的情況下,物件的參照被複制在另一個物件中。 這意味著對物件的副本所做的任何更改都會在原始物件中反映。 我們將使用檢視view()函數來實現淺副本。
範例:
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)
這次雖然2個陣列參照了不同的物件,但在更改一個陣列值的時候,另一個的值也被更改。
深度拷貝是一個過程,其中複製過程遞迴地發生。 它意味著首先構建一個新的儲存物件,然後用原稿中找到的子物件的副本遞迴地填充它。 在深度拷貝的情況下,將物件的副本複製到另一個物件中。 這意味著對物件的副本所做的任何更改都不反映在原始物件中。 我們將使用copy()函數來實現深度副本。
範例:
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)
這次在一個陣列中所做的更改不會對映在其他陣列中。
如果您正在處理numpy矩陣,則numpy.copy()將為您提供深度拷貝。 但是,如果您的矩陣是列表的列表,那麼請考慮旋轉影象90度的任務中使用以下方法:
範例:
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列表POP()是Python中的內建函數,該函數刪除並返回列表或給定索引值的最後一個值。
語法:
list_name.pop(index)
引數:
返回值:列表中的最後一個值或給定的索引值。
例外:當索引超出範圍時,它會返回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")
例二:
list1 = [ 1, 2, 3, 4, 5, 6 ] print(list1.pop(), list1) print(list1.pop(0), list1)
例三:
list1 = [ 1, 2, 3, 4, 5, 6 ] print(list1.pop(8))
例四:
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陣列的複製與列表中的pop的文章就介紹到這了,更多相關python陣列複製與pop()內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45