Уведомления

Группа в Telegram: @pythonsu

#1 Май 7, 2010 10:30:47

Olyaleo
От:
Зарегистрирован: 2010-03-23
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

for в Python

Подскажите, пожалуйста, как в питоне написать такую строчку:

for(int i=0; i<size; i++)
{
out(c[i]);
}



Офлайн

#2 Май 7, 2010 10:35:53

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

for в Python

Открываешь учебник…

Офлайн

#3 Май 7, 2010 10:38:16

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

for в Python

for i in range(size):
out(c[i])
А если c поддерживает протокол итератора(список, кортеж, ваша реализация), то и
for item in c:
out(item)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Май 7, 2010 13:55:41

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

for в Python

Тут надо понимать, что map формирует (и возвращает) список (в данном примере, скорее всего вида [None, None, None, …), если c большой, то такой подход хоть и кавайный использовать не очень разумно.

p.s. Ну и при большом size лучше использовать xrange. Вроде не актуально для “тройки”?!

..bw



Отредактировано (Май 7, 2010 13:57:15)

Офлайн

#5 Май 7, 2010 15:41:55

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

for в Python

в тройке и map работает с итераторами



Офлайн

#6 Май 8, 2010 02:18:43

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

for в Python

> в тройке и map работает с итераторами
Т.е. out (из данного примера) будет вызываться (для каждого элемента) только в подобном случае: list(map(…)) ?

..bw



Офлайн

#7 Май 8, 2010 03:20:20

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

for в Python

Да. Считайте, что imap переименовали в map. Старого map больше нет. Примерно как xrange->range



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version