Python: понимание списка, есть ли f (x), если x существует? - PullRequest
12 голосов
/ 23 ноября 2010

Как я могу сделать что-то вроде следующего в Python?

row = [unicode(x.strip()) if x for x in row]

По сути, понимание списка, где вы выполняете функцию, если переменная существует.

Спасибо!

Ответы [ 4 ]

18 голосов
/ 23 ноября 2010

«если» идет в конце »

row = [unicode(x.strip()) for x in row if x]
3 голосов
/ 23 ноября 2010

Не уверен насчет целей, но это должно сработать

row = [unicode(x.strip()) for x in row if x ]
3 голосов
/ 23 ноября 2010

Так близко.

row = [unicode(x.strip()) for x in row if x]
0 голосов
/ 21 ноября 2011

Возможно, вы думаете о синтаксисе троичного оператора , который используется, если вы хотите if / else, например ::100100 *

row = [unicode(x.strip()) if x is not None else '' for x in row ]

или что бы вы хотели сделать.

...