Comment puis-je effectuer les opérations suivantes en Python?
row = [unicode(x.strip()) for x in row if x is not None else '']
Essentiellement, (1) remplacer tous les Nvos avec les cordes à vide, puis (2) exécuter une fonction.
Merci!
Comment puis-je effectuer les opérations suivantes en Python?
row = [unicode(x.strip()) for x in row if x is not None else '']
Essentiellement, (1) remplacer tous les Nvos avec les cordes à vide, puis (2) exécuter une fonction.
Merci!
Vous pouvez tout à fait faire ça, c'est juste un problème de la commande:
[ unicode(x.strip()) if x is not None else '' for x in row ]
Note que c'est en fait utilise une langue différente construire, une expression conditionnelle, qui lui-même ne fait pas partie de la compréhension de la syntaxe, tandis que l' if
après l' for…in
fait partie de la liste des inclusions et utilisé pour filtrer les éléments de la source itératif.
Voici un autre exemple:
>>> print(", ".join(["ha" if i else "Ha" for i in range(3)]) + "!")
Ha, ha, ha!
Il exploite le fait que l' if i
évalue False
pour 0
et True
pour toutes les autres valeurs générées par la fonction range()
. Par conséquent, la compréhension de liste évalue comme suit:
>>> ["ha" if i else "Ha" for i in range(3)]
['Ha', 'ha', 'ha']
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.