[Python] объясните выражение
От: victor_kr Украина  
Дата: 15.07.10 09:49
Оценка:
В документации встретил выражение. Вот его упрощенный работающий вариант:

print ', '.join(i for i in ['1', '2'])


Не могу понять что означает i перед for. join принимает итератор. Значит то что написано в скобках после join должно возвращать итератор. При попытке присвоить это "i for i in ['1', '2']" выражение переменной возникает ошибка. Хотя, если я пробую присвоить переменной "[i for i in ['1', '2']]" или "(i for i in ['1', '2'])", то получаю в переменной итератор. Хотя эта запись мне не понятна тоже.

Получается, что в выражении не хватает скобок. Нужно писать так:

print ', '.join([i for i in ['1', '2']])


Укажите пожалуйста место в докуметации, где описывается подобный синтаксис. Интересует именно i for i in ['1', '2'].
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.