Imaginez donc que je veuille trouver les 2e, 3e et 4e éléments dans une autre liste.

position = [2,3,4]

Sample_List = ['a','b','c','d','e']

La boucle donnerait le résultat:

['c','d','e']
2
dyao 13 juil. 2015 à 01:26

3 réponses

Meilleure réponse

Facile:

the_elements = [Sample_List[i] for i in position]
5
José Tomás Tocino 12 juil. 2015 à 22:28

Une autre approche utilisant operator.itemgetter:

>>> from operator import itemgetter

>>> position = [2,3,4]
>>> Sample_List = ['a','b','c','d','e']
>>> itemgetter(*position)(Sample_List)
('c','d','e')
1
ozgur 13 juil. 2015 à 00:00

Vous pouvez aussi utiliser

elements = map(lambda k:Sample_List[k], position)

Sur python3, vous devez le convertir en liste

elements = list(map(lambda k:Sample_List[k], position))
1
Pynchia 12 juil. 2015 à 22:41