2 回答

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

TA貢獻1891條經(jīng)驗 獲得超3個贊
首先:python中的列表是不能這樣索引的,報的錯翻譯過來是:列表的索引要么是切片要么是數(shù)字而不能是一個列表。
1 數(shù)字:如 y[1], y[3], y[-1](取倒數(shù)第一個元素)
2 切片:如y[1:3](取第1到第3個元素),y[:3](取前三個元素),y[3:](取第三個元素之后的所有元素)
其次,要實現(xiàn)你所需的功能,有兩種方案:
1 使用循環(huán)來實現(xiàn)
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 = [] # 存儲結(jié)果 for i in range(len(x)): y2.append(y[x[i]]) |
2 使用numpy實現(xiàn),numpy是python中常用的數(shù)據(jù)分析庫,需要單獨安裝
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] |
添加回答
舉報