Префикс префикса к элементам списка с пониманием списка - PullRequest
15 голосов
/ 26 июля 2010

Имея такой список:

['foo','spam','bar']

возможно ли, используя понимание списка, получить этот список как результат?

['foo','ok.foo', 'spam', 'ok.spam', 'bar', 'ok.bar']

Ответы [ 2 ]

31 голосов
/ 26 июля 2010
In [67]: alist = ['foo','spam', 'bar']

In [70]: [prefix+elt for elt in alist for prefix in ('','ok.') ]
Out[70]: ['foo', 'ok.foo', 'spam', 'ok.spam', 'bar', 'ok.bar']
1 голос
/ 26 июля 2010

При работе со списками вы создаете новые списки, а не добавляете элементы в существующий список (что может быть актуально для действительно больших наборов данных)

Почему в любом случае это должно быть понимание списка? То, что они есть в python, не делает плохой практикой кодирования использование цикла for.

...