Ho una lista python che gira in 1000's. Qualcosa di simile:Dividere una lista python in altre "sottoliste" i.e liste più piccole
data=["I","am","a","python","programmer".....]
dove, len (dati) = dicono 1003
Vorrei ora per creare un sottoinsieme di questa lista (dati) dividendo la lista originale in blocchi di 100. Quindi, a Alla fine, Id piace avere qualcosa del tipo:
data_chunk1=[.....] #first 100 items of list data
data_chunk2=[.....] #second 100 items of list data
.
.
.
data_chunk11=[.....] # remainder of the entries,& its len <=100, len(data_chunk_11)=3
Esiste un modo pitone per raggiungere questo obiettivo? Ovviamente posso usare i dati [0: 100] e così via, ma presumo che sia terribilmente non-pitonico e molto inefficiente.
Molte grazie.
Si potrebbe utilizzare [funzione array_split di numpy ] (https://docs.scipy.org/doc/numpy/reference/generated/numpy.array_split.html#numpy.array_split) ad es., 'np.array_split (np.array (data), 20)' da dividere in 20 pezzi di dimensioni quasi uguali. Per assicurarti che i blocchi siano esattamente uguali, usa 'np.split'. – AlexG