Найти - Пользователи
Полная версия: странное поведение for
Начало » Python для новичков » странное поведение for
1
elenhil
приветствую.
столкнулся с проблемой, пишу вроде простой цикл:
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й вариант и не парится, но уж больно он неуклюжий
в чем может быть косяк?
o7412369815963
в переменную t передается значение а не ссылка
elenhil
ну я собсно так и подумал
а можно как нибудь без извратов по ссылке передавать?
Ed
Проще будет понять чего нужно. Если нужно получить список из символов ‘а’ такой же длины, как исходный, то это делается проще. Думаю, что и другие вещи тоже можно сделать без ссылок. Если бы это было не так, то в питоне были бы ссылки.
knkd
for t in parsed
t="a"
==
["a" for x in parsed]
:)
o7412369815963
knkd
["a" for x in parsed]
:)
тогда проще:
['a'] * len(parsed)
knkd
o7412369815963
тогда проще:
Во блин!
Даже не знал что так работает :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB