Il ne reste rien après avoir fait une liste d'un objet de carte python

Pour l'objet map / zip / filter, faire la liste deux fois le rendra vide.

list_twice


>>> xs = [1, 2, 3]
>>> mapped = map(lambda x:x+1, xs)
>>> list(mapped)
[2, 3, 4]
>>> list(mapped)
[]

Je ne sais pas ce qui s'est passé au début, c'est un bug, ou c'est une méthode destructrice! ?? J'ai pensé, mais cela semble être une spécification. http://stackoverflow.com/questions/19759247/listing-a-filter-object-twice-will-return-a-blank-list

Alors ne l'écrivez pas correctement

À l'origine, j'étais accro à faire un dict comme suit.

bad_code


xs = map(func, my_list)
ys = dict(zip([x.key for x in xs], xs))

C'est un code triste à relire maintenant ... Peu importe qu'il soit inclus ou non sans utiliser list (), il disparaît lors de l'itération, donc dans ce cas, le deuxième x du zip est vide. C'était. J'ai donc décidé de faire de mon mieux pour être prudent lors de la cartographie.

À propos, le code ci-dessus a été résolu comme suit.

bad_code


xs = map(func, my_list)
ys = {x.key:x for x in xs}

Grâce à cela, j'ai appris qu'en Python3, la notation d'inclusion correspond à dict et set.

Recommended Posts

Il ne reste rien après avoir fait une liste d'un objet de carte python
Python: obtenir une liste de méthodes pour un objet
La liste Python n'est pas une liste
[python] Gérer les fonctions dans une liste
Toucher les objets Python d'Elixir
python / Créer un dict à partir d'une liste.
Afficher une liste d'alphabets en Python 3
Carte des informations de location sur une carte avec python
[python] Obtenir une liste de variables d'instance
J'ai fait une carte hexadécimale avec Python
Essayez de dessiner une carte avec python + cartopy 0.18.0
Après avoir étudié Python3, j'ai créé un Slackbot
[Python] Obtenir une liste de dossiers uniquement
[Python] liste
[Python] Compréhension de liste Différentes façons de créer une liste
Comment effacer un taple dans une liste (Python)
[python] Créer une liste de différents types de caractères
Copiez la liste en Python
Créer une carte Web en utilisant Python et GDAL
Folium: Visualisez les données sur une carte avec Python
Afficher les avis sur les médicaments à l'aide de listes en Python
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
Liste de tâches simple créée avec Python + Django
amateur python tente de résumer la liste ②
Trier les éléments de la liste dans l'ordre spécifié en Python
Insérer un objet dans une chaîne en Python
Visualiser grib2 sur une carte avec python (matplotlib)
[Python] Manipulation d'éléments dans une liste (tableau) [Trier]
Dites-moi ce qu'est une cartographie équiangulaire, Python!
Le résultat de la création d'un album de cartes de jeunes mariés italiens en Python et de son partage