鑑於陣列= [1,2,3,4,5,6]如何挑選在固定的間隔元件以陣列(蟒)
我想選擇第0 2-ND,4-個索引值,以建立一個新的數組
ARRAY1 = [1,3,5]
可能有人告訴我如何使用Python辦?謝謝〜
鑑於陣列= [1,2,3,4,5,6]如何挑選在固定的間隔元件以陣列(蟒)
我想選擇第0 2-ND,4-個索引值,以建立一個新的數組
ARRAY1 = [1,3,5]
可能有人告訴我如何使用Python辦?謝謝〜
如果只是0
,2
和4
,您可以使用operator.itemgetter()
:
from operator import itemgetter
array1 = itemgetter(0, 2, 4)(array)
這將是一個元組。如果它必須是一個列表,將其轉換:
array1 = list(itemgetter(0, 2, 4)(array))
如果該點是得到偶數指數,使用切片:
array1 = array[::2]
無論你正在尋找,你可以使用一個list comprehension:
array1 = [array[i] for i in (0, 2, 4)]
或
array1 = [array[i] for i in xrange(0, len(array), 2)]
你可以嘗試這樣的事情。在python中,列表的第n項索引爲(n-1)
。假設你想要的第一個元素是2,恰好是array
的元素1。只需將第一個元素索引保存在變量中。將其附加到新列表array1
並將索引增加2.繼續執行此操作,直到列表array
用盡。
from numpy import*
array=[1,2,3,4,5,6]
array1=[]
term=1
while term<len(array): # if the array length is 6 then it will have upto element 5.
array1.append(array[term])
term=term+2 # 2 is the gap between elements. You can replace it with your required step size.
Got you!有道理〜 – Echo0831
非常感謝〜如果我想設置「step」,即採摘間隔,我該怎麼辦?例如,我想選取0,3,6個指數或0,4,8〜 – Echo0831
@ Echo0831的元素,你可以通過在xrange(start,len(array())中寫入array1 = [array [i] ),step)]',其中start應該是第一個元素的索引,step是步長。或者你可以看到我的答案。 – kanayamalakar
@ Echo0831:當我說'array [:: 2]'時,這意味着'array'中的所有項目從一端到另一端以'2'步驟。因此,您可以將「2」更改爲您想要的任何步驟。在'array1 = [array [i] for i in xrange(0,len(array),2)]'中,我說從第一個元素的索引'0'到索引長度的索引array - 1,最後一個元素,步長爲2。因此,您可以將'2'更改爲您想要的任何步驟。 – zondo