Префикс prepend для перечисления элементов со списком

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

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

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

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

Ответы

Ответ 1

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']

Ответ 2

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

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