Comment puis-je faire quelque chose comme ce qui suit en Python? Fondamentalement, une compréhension de liste où vous exécutez une fonction si la variable existe.Python: liste de compréhension, faire f (x) si x existe?
Merci!
Comment puis-je faire quelque chose comme ce qui suit en Python? Fondamentalement, une compréhension de liste où vous exécutez une fonction si la variable existe.Python: liste de compréhension, faire f (x) si x existe?
Merci!
Le "si" va à la fin »
row = [unicode(x.strip()) for x in row if x]
Parfait, merci. Comme @delnan les commentaires ci-dessus, ce dont j'ai vraiment besoin est 'x n'est pas None' - bien que ce soit ma faute pour une explication ambiguë. – AP257
si près.
row = [unicode(x.strip()) for x in row if x]
Je ne sais pas sur les objectifs, mais cela devrait fonctionner
row = [unicode(x.strip()) for x in row if x ]
Peut-être vous » re pensaient à l'opérateur ternaire ternaire comme utilisé si vous voulez/sinon, par exemple:
row = [unicode(x.strip()) if x is not None else '' for x in row ]
ou tout ce que vous voulez faire.
Vous dites, si la variable existe, mais je pense que vous voulez dire, si ce n'est pas None. Le bit "for x in row" va parcourir toutes les "variables" de la rangée. –
En outre, si vous voulez vérifier 'None', utilisez' x is not None'. – delnan
Je pense que cette question très similaire à http://stackoverflow.com/questions/4260280/python-if-else-in-list-comprehension ne devrait pas re-poster la même question deux fois – anijhaw