數組與列表的異同


"""
數組中的元素只能是同種數據類型;列表中的元素可以不是同一種數據類型
"""

from typing import List
import numpy as np
LIST = [1,23,4,5]
ARR = np.array(LIST) # 會報錯,沒報錯啊,這數組哎,列表直接轉換數組就行么
print(LIST,ARR)
print('數據類型',type(LIST),type(ARR))
LIST[-1] = 'sjss'
# 下方代碼報錯是由於一旦創建了一個數組,他的dtype也就固定了,它只能存儲相同類型的元素.如何確定相同類型的元素可用dtype()函數來確定
ARR[-1] = 11.22 # ValueError: invalid literal for int() with base 10: 'sjss'
print(ARR,'\n','數組元素的數據類型',ARR.dtype) # 而輸入的是浮點型數據會自動轉換為整型,原數組元素的數據類型是int

# 只要元素的總數不變,數組的形狀就可以隨時改變。例如想要一個數字從0增加的2x4數組
arr1 = np.arange(8) # [0 1 2 3 4 5 6 7];有點類似於range函數
arr2 = np.arange(8).reshape(2,4) # 將數組轉換成2行4列
print("使用reshape轉化后",arr2)

# 改變前后具有相同的記憶
arr3 = arr1.reshape(4,2)
arr1[0] = 1000
print(arr1,arr3)
arr4 = arr1.copy() # copy的話arr4並沒有改變,深度復制么
arr1[0] = 0
print(arr1,arr4)




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM