0
使用Python的切片運營商,可以例如實現:如何以任意順序訪問列表/元組的元素?
a = [0, 10, 20, 30, 40, 50]
>>> a[0:5:2]
[0, 20, 40]
我該怎麼辦,如果我想訪問列表中的元素以任意順序?我想要做的是這樣的:
>>> a([1,0,3,5]) #MATLAB notation!
[10, 0, 30, 50]
(I know how to do this with numpy,但如果可能的話,我寧願不進口任何包)。
這可能會比@ sshashank124的解決方案更快,因爲'operator'是用C語言實現的,所以'itemgetter'可能會超越Python循環。 –
我接受了sshashank124的回答,因爲它不需要導入,但是這很好理解,謝謝!儘管一個缺點是爲了獲得一個列表,似乎必須編寫:'list(itemgetter(1,0,3,5)(a))''。 – andreasdr
@andreasdr我不知道你的用例是什麼,但實際上元組和列表幾乎是一樣的(除了元組是不可變的事實除外) – thefourtheye