Je voudrais indexer une liste avec une autre liste comme celleEn Python, comment indexer une liste avec une autre liste?
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
Idx = [0, 3, 7]
T = L[ Idx ]
et T devrait finir par être une liste contenant [ 'a', 'd', 'h'].
Y at-il une meilleure façon que
T = []
for i in Idx:
T.append(L[i])
print T
# Gives result ['a', 'd', 'h']
Est-ce plus rapide qu'une boucle for ou seulement plus courte? –
@daniel: les deux + recommandé – SilentGhost
Un test de synchronisation rapide (pas de pysco ou quoi que ce soit, alors faites-en ce que vous voulez) a montré la compréhension de la liste 2,5 fois plus rapide que la boucle (1000 éléments, répétée 10000 fois). –