Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 12, 2010 17:48:41

elenhil
От:
Зарегистрирован: 2010-04-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

странное поведение for

приветствую.
столкнулся с проблемой, пишу вроде простой цикл:

for t in parsed
t="a"
print t
где parsed - список

так вот, print t выводит все как надо, т.е. буквы а

а если после цикла вызвать print parsed, то выводится не измененный список, как будто цикл и не запускался.

цикл вида:
for k in range(0,len(parsed)) :
parsed[k] = "a"
print parsed[k]
работает нормально

можно конечно оставить 2й вариант и не парится, но уж больно он неуклюжий
в чем может быть косяк?



Офлайн

#2 Апрель 12, 2010 18:01:26

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

странное поведение for

в переменную t передается значение а не ссылка

Офлайн

#3 Апрель 12, 2010 18:31:26

elenhil
От:
Зарегистрирован: 2010-04-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

странное поведение for

ну я собсно так и подумал
а можно как нибудь без извратов по ссылке передавать?



Офлайн

#4 Апрель 12, 2010 19:20:17

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

странное поведение for

Проще будет понять чего нужно. Если нужно получить список из символов ‘а’ такой же длины, как исходный, то это делается проще. Думаю, что и другие вещи тоже можно сделать без ссылок. Если бы это было не так, то в питоне были бы ссылки.



Офлайн

#5 Апрель 12, 2010 19:58:01

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

странное поведение for

for t in parsed
t="a"
==
["a" for x in parsed]
:)



Офлайн

#6 Апрель 12, 2010 20:51:50

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

странное поведение for

knkd
["a" for x in parsed]
:)
тогда проще:
['a'] * len(parsed)

Офлайн

#7 Апрель 13, 2010 12:02:45

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

странное поведение for

o7412369815963
тогда проще:
Во блин!
Даже не знал что так работает :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version