Имея такой список:
['foo','spam','bar']
возможно ли, используя понимание списка, получить этот список как результат?
['foo','ok.foo', 'spam', 'ok.spam', 'bar', 'ok.bar']
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']
При работе со списками вы создаете новые списки, а не добавляете элементы в существующий список (что может быть актуально для действительно больших наборов данных)
Почему в любом случае это должно быть понимание списка? То, что они есть в python, не делает плохой практикой кодирования использование цикла for.