Olyaleo
Май 7, 2010 10:30:47
Подскажите, пожалуйста, как в питоне написать такую строчку:
for(int i=0; i<size; i++)
{
out(c[i]);
}
PooH
Май 7, 2010 10:38:16
for i in range(size):
out(c[i])
А если c поддерживает протокол итератора(список, кортеж, ваша реализация), то и
Тут надо понимать, что map формирует (и возвращает) список (в данном примере, скорее всего вида [None, None, None, …), если c большой, то такой подход хоть и кавайный использовать не очень разумно.
p.s. Ну и при большом size лучше использовать xrange. Вроде не актуально для “тройки”?!
..bw
Андрей Светлов
Май 7, 2010 15:41:55
в тройке и map работает с итераторами
> в тройке и map работает с итераторами
Т.е. out (из данного примера) будет вызываться (для каждого элемента) только в подобном случае: list(map(…)) ?
..bw
Андрей Светлов
Май 8, 2010 03:20:20
Да. Считайте, что imap переименовали в map. Старого map больше нет. Примерно как xrange->range