第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 python 范圍對象索引到 numpy 數(shù)組

使用 python 范圍對象索引到 numpy 數(shù)組

侃侃爾雅 2021-08-05 18:09:45
我以前看過一兩次,但我似乎找不到任何官方文檔:range在 numpy 中使用 python對象作為索引。import numpy as npa = np.arange(9).reshape(3,3)a[range(3), range(2,-1,-1)]# array([2, 4, 6])讓我們觸發(fā)一個索引錯誤,以確認(rèn)范圍不在合法索引方法的官方范圍內(nèi)(雙關(guān)語):a['x']# Traceback (most recent call last):#   File "<stdin>", line 1, in <module># IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices現(xiàn)在,numpy 與其文檔之間的細微差異并非完全聞所未聞,也不一定表明該功能不是有意為之(參見此處的示例)。那么,有沒有人知道這為什么有效?如果它是一個預(yù)期的功能,它的確切語義是什么/它有什么好處?是否有任何 ND 概括?
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

總結(jié)一下(感謝評論中的@WarrenWeckesser):這種行為實際上已記錄在案。人們只需要意識到range對象是嚴(yán)格意義上的Python 序列。


所以這只是花哨的索引的一個例子。但是請注意,它非常慢:


>>> a = np.arange(100000)

>>> timeit(lambda: a[range(100000)], number=1000)

12.969507368048653

>>> timeit(lambda: a[list(range(100000))], number=1000)

7.990526253008284

>>> timeit(lambda: a[np.arange(100000)], number=1000)

0.22483703796751797


查看完整回答
反對 回復(fù) 2021-08-05
  • 2 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號