Supponiamo che ho una lista:Come indice più elementi di array con intervalli in Python
import numpy as np
a = [2, 4, 6, 8, ..., 1000] # total 500 elements
b = np.array(a) # numpy version
voglio arrivare 1o-100i, 201i a 300 °, 401 ° a 500 ° elementi e trasformarli in una nuova matrice.
A tal fine, ho provato i seguenti codici:
a_sub = a[0:100] + a[200:300] + a[400:500]
b_sub = np.concatenate((b[0:100], b[200:300], b[400:500]))
ma voglio farlo con un semplice oneline-indicizzazione
Di ':
a_sub = a[(0:100, 200:300, 400:500)]
a_sub = a[[0:100, 200:300, 400:500]]
b_sub = b[[0:100, 200:300, 400:500]]
b_sub = b[[0:100, 200:300, 400:500]]
Ma la sopra sono tutti invalidi e non ho potuto trovare tale indicizzazione oneliner.
Non so se questo è possibile. O vuoi questo 'a_sub = b [intervallo (0,100) + intervallo (200,300) + intervallo (400,500)]' –
Voglio dire che non puoi indicizzare una lista come quella in una riga specificatamente 'a_sub = a [(0: 100, 200: 300, 400: 500)] ' –
Qualcuna delle soluzioni pubblicate qui funziona per te? – Divakar