-2

配列をスライスして、2 つのスライスに 2 つの配列の 0、2、3、4 番目の要素を持つスライスを取得しようとしています。Pythonでこれを行うにはどうすればよいですか? ありがとう

4

4 に答える 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 に答える