2 回答

TA貢獻1806條經驗 獲得超5個贊
注意檢查:
NumPy的數組類被稱作ndarray。通常被稱作數組。注意numpy.array和標準Python庫類array.array并不相同,后者只處理一維數組和提供少量功能。更多重要ndarray對象屬性有:
ndarray.ndim
數組軸的個數,在python的世界中,軸的個數被稱作秩
ndarray.shape
數組的維度。這是一個指示數組在每個維度上大小的整數元組。例如一個n排m列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性
ndarray.size
數組元素的總個數,等于shape屬性中元組元素的乘積。
ndarray.dtype
一個用來描述數組中元素類型的對象,可以通過創造或指定dtype使用標準Python類型。另外NumPy提供它自己的數據類型。
ndarray.itemsize
數組中每個元素的字節大小。例如,一個元素類型為float64的數組itemsiz屬性值為8(=64/8),又如,一個元素類型為complex32的數組item屬性為4(=32/8).
ndarray.data
包含實際數組元素的緩沖區,通常我們不需要使用這個屬性,因為我們總是通過索引來使用數組中的元素。

TA貢獻1891條經驗 獲得超3個贊
首先:python中的列表是不能這樣索引的,報的錯翻譯過來是:列表的索引要么是切片要么是數字而不能是一個列表。
1 數字:如 y[1], y[3], y[-1](取倒數第一個元素)
2 切片:如y[1:3](取第1到第3個元素),y[:3](取前三個元素),y[3:](取第三個元素之后的所有元素)
其次,要實現你所需的功能,有兩種方案:
1 使用循環來實現
1 2 3 4 5 6 | x = [0,1,2,3,4,5,6] y = [11,22,33,44,55,66,77] random.shuffle(x) y2 = [] # 存儲結果 for i in range(len(x)): y2.append(y[x[i]]) |
2 使用numpy實現,numpy是python中常用的數據分析庫,需要單獨安裝
1 2 3 4 5 6 7 | import numpy as np import random
x = [0,1,2,3,4,5,6] y = np.array([11,22,33,44,55,66,77]) random.shuffle(x) y[x] |
添加回答
舉報