如何查找某個(gè)元素在數(shù)組中的索引 列表通過(guò)什么索引元素?
列表通過(guò)什么索引元素?考慮兩個(gè)列表。第二個(gè)列表中的元素是數(shù)字,不需要將其其為第一個(gè)列表中元素的索引位置。對(duì)于這種,我們有200元以?xún)?nèi)python程序。有映射和getitem我們可以使用getitem魔
列表通過(guò)什么索引元素?
考慮兩個(gè)列表。第二個(gè)列表中的元素是數(shù)字,不需要將其其為第一個(gè)列表中元素的索引位置。對(duì)于這種,我們有200元以?xún)?nèi)python程序。
有映射和getitem
我們可以使用getitem魔術(shù)方法來(lái)不能訪(fǎng)問(wèn)列表項(xiàng)。我們也可以將其與map函數(shù)互相可以使用,以便我們從第一個(gè)列表中額外結(jié)果,該結(jié)果將第二個(gè)列表中的元素才是其指標(biāo)。
示例listA[Mon,Tue,Wed,Thu,Fri]
listB[0,1,3]
print(推導(dǎo)列表A:,listA)
print(計(jì)算變量列表B:,listB)
reslist(map(listA.__getitem__,listB))
print(Result:,res)
輸出低結(jié)果
運(yùn)行上面的代碼給我們以上結(jié)果-推導(dǎo)列表A:[Mon,Tue,Wed,Thu,Fri]
變量列表B:[0,1,3]
Result:[Mon,Tue,Thu]
內(nèi)帶itemgetter
運(yùn)算符模塊可以提供了可應(yīng)用于此目的的itemgetter方法。在下面的程序中,我們將第二列表擴(kuò)充卡為索引,并運(yùn)用itemgetter函數(shù)從列表中聲望兌換或則的元素。
示例acrossoperatorimportitemgetter
listA[Mon,Tue,Wed,Thu,Fri]
listB[0,1,3]
print(變量列表A:,listA)
print(變量列表B:,listB)
reslist((itemgetter(*listB)(listA)))
print(Result:,res)
作為輸出結(jié)果
運(yùn)行上面的代碼給我們200以?xún)?nèi)結(jié)果-變量列表A:[Mon,Tue,Wed,Thu,Fri]
推導(dǎo)列表B:[0,1,3]
Result:[Mon,Tue,Thu]
用numpy
numpy庫(kù)也可以按照僅創(chuàng)建角色一個(gè)將兩個(gè)列表充當(dāng)輸入輸入?yún)?shù)的數(shù)組來(lái)利用此目的。結(jié)果立即轉(zhuǎn)換的為列表。
示例importnumpyasnp
listA[Mon,Tue,Wed,Thu,Fri]
listB[0,1,3]
print(給定列表A:,listA)
print(推導(dǎo)列表B:,listB)
reslist((listA)[listB])
print(Result:,res)
控制輸出結(jié)果
索引超出矩陣維度,怎么解決?
1.
徹底清除再看看MATLAB的工作區(qū)數(shù)據(jù),重新跑
2.
更改一下操縱量的限制范圍,不斷擴(kuò)大或縮小成幾倍
3.
更改后一下CarSim中的車(chē)速設(shè)定,我的代碼能跑低速行駛,速度一上90就運(yùn)行錯(cuò)誤,我也很絕望
4.
更改權(quán)重矩陣時(shí)也會(huì)報(bào)這個(gè)錯(cuò)誤(我試了很多次沒(méi)有問(wèn)題,不過(guò)第四次出問(wèn)題了