2016-05-01 8 views

答えて

2

、あなたがoperator.itemgetter()を使用することができます。

from operator import itemgetter 

array1 = itemgetter(0, 2, 4)(array) 

タプルになります。それはリストでなければならない場合は、それを変換:

array1 = list(itemgetter(0, 2, 4)(array)) 

ポイントが偶数のインデックス、使用スライスを取得する場合:あなたが探している、あなたはlist comprehensionを使用することができますどの

array1 = array[::2] 

を:

array1 = [array[i] for i in (0, 2, 4)] 

または

array1 = [array[i] for i in xrange(0, len(array), 2)] 
+0

ありがとうございました〜ピッキング間隔である「ステップ」を設定したい場合、どうすればいいですか?たとえば、0,3,6のインデックスまたは0,4,8〜 – Echo0831

+0

@ Echo0831の要素を選びたいとしたら、配列array1 = [array [i] for xrange(start、len(array )、step)] '、startは最初の要素のインデックス、stepはステップサイズです。または私の答えを見ることができます。 – kanayamalakar

+0

@ Echo0831: 'array [:: 2]'と言うと、 'array'のすべての項目を一方の端から他方の端まで '2'のステップで意味します。したがって、 '2'をあなたが望むどんなステップにでも変更することができます。 'array1 = [array [i] for xrange(0、len(array)、2)]'では、最初の要素である '0'のインデックスから、 array - 1、最後の要素、 '2'のステップ。したがって、 '2'を任意のステップに変更することができます。 – zondo

0

このようなことを試すことができます。 Pythonでは、リストの第n項にはインデックス(n-1)があります。最初の要素が2で、要素1がarrayであるとします。最初の要素インデックスを変数に保存するだけです。それを新しいリスト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. 
+0

あなたはあります! 〜を意味する〜 – Echo0831