Swap valeurs dans un tuple/liste à l'intérieur d'une liste en python?
J'ai un tuple/liste à l'intérieur d'une liste comme ceci:
[('foo','bar'),('foo1','bar1'),('foofoo','barbar')]
Quelle est la manière la plus rapide en python (en cours d'exécution sur une très faible cpu/ram de la machine) pour permuter les valeurs de ce type...
[('bar','foo'),('bar1','foo1'),('barbar','foofoo')]
actuellement à l'aide de:
for x in mylist:
self.maynewlist.append((_(x[1]),(x[0])))
Est-il mieux ou plus vite???
OriginalL'auteur subixonfire | 2012-11-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la carte:
Ou de compréhension de liste:
Interprétations de la liste sont privilégiées et les soi-disant beaucoup plus rapide que la carte lorsque lambda est toutefois nécessaire de noter que la compréhension de liste a une évaluation stricte, qui est, elle sera évaluée dès qu'il est lié à la variable, si vous êtes inquiet au sujet de la consommation de mémoire utiliser un générateur à la place:
Il y a un peu plus de détails ici: Liste Python De Compréhension De La Vs. Carte
le plus probable
OriginalL'auteur iabdalkader
Vous pouvez utiliser
reversed
comme ceci:De l'appliquer à une liste, vous pouvez utiliser
map
ou une compréhension de liste:Si vous êtes intéressés principalement dans l'exécution de la vitesse, je ne peux que vous recommander de profil, les différentes approches et choisir le plus rapide.
OriginalL'auteur Elliot Cameron
Une façon élégante:
OriginalL'auteur vperezb
À l'aide d'un compréhension de liste je trouve plus élégant et compréhensible pour utiliser des variables au lieu des indices pour une seule variable, comme dans la solution fournie par @iabdalkader:
OriginalL'auteur Marco