指定された配列= [1、2、3、4、5、6]どのアレイに一定間隔内の要素を選択する(パイソン)
I 0番目の2番目を選択したいです、4-新しい配列
配列1 =構築するためのindex番目の値[1、3、5]
誰かのpythonを使用して行う方法を見せてもらえますか?おかげで、それはちょうど0
、2
、および4
の場合〜
指定された配列= [1、2、3、4、5、6]どのアレイに一定間隔内の要素を選択する(パイソン)
I 0番目の2番目を選択したいです、4-新しい配列
配列1 =構築するためのindex番目の値[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))
ポイントが偶数のインデックス、使用スライスを取得する場合:あなたが探している、あなたは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)]
このようなことを試すことができます。 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.
あなたはあります! 〜を意味する〜 – Echo0831
ありがとうございました〜ピッキング間隔である「ステップ」を設定したい場合、どうすればいいですか?たとえば、0,3,6のインデックスまたは0,4,8〜 – Echo0831
@ Echo0831の要素を選びたいとしたら、配列array1 = [array [i] for xrange(start、len(array )、step)] '、startは最初の要素のインデックス、stepはステップサイズです。または私の答えを見ることができます。 – kanayamalakar
@ Echo0831: 'array [:: 2]'と言うと、 'array'のすべての項目を一方の端から他方の端まで '2'のステップで意味します。したがって、 '2'をあなたが望むどんなステップにでも変更することができます。 'array1 = [array [i] for xrange(0、len(array)、2)]'では、最初の要素である '0'のインデックスから、 array - 1、最後の要素、 '2'のステップ。したがって、 '2'を任意のステップに変更することができます。 – zondo