配列をスライスして、2 つのスライスに 2 つの配列の 0、2、3、4 番目の要素を持つスライスを取得しようとしています。Pythonでこれを行うにはどうすればよいですか? ありがとう
4 に答える
6
[a[i] for i in (0, 2, 3, 4)]
多分?
于 2012-07-03T13:45:05.973 に答える
2
私はシングル slice
でそれができるとは思いません。2つと slice
それらを使用しconcatenate
ます。
>>> lis=[1,2,3,4,5,6]
>>> lis[0:1]+lis[2:5]
[1, 3, 4, 5]
于 2012-07-03T13:42:36.597 に答える
0
numpy を使用している場合:
a[np.array((0,2,3,4))]
高度なインデックス作成をトリガーするには、インデックス作成に numpy 配列を使用する必要があります (タプルの使用は機能しません)。
必要に応じて、リストを使用できます。
a[[0,2,3,4]]
これで少しすっきりしたかも…
于 2012-07-03T13:47:50.370 に答える
0
文字通りに解釈すると、これは「スライス 1 が (0,2,3, 2 つのスライス 2 の 2 つの配列の 4 番目の要素) を持っている」ことを意味すると思います。 、独自の配列の 4 番目の要素)) '. それは私たちに与えます
import operator as op
arr1 = [1,7,4,75,100,67]
arr2 = ['a', 'b', 'e', 'z', 'r', 's']
the_slice = map(op.itemgetter(0, 2, 3, 4), (arr1, arr2))
の結果list(the_slice)
:
[(1, 4, 75, 100), ('a', 'e', 'z', 'r')]
于 2012-07-03T14:11:02.333 に答える