![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| erty |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
голову сломал пока пытался обнаружить ошибку, наконец столкнулся с такой занятной штукой:
хочу использовать словари внутри списков
Получаем:
все ок, все как и должно быть. Но т.к. я не знаю сколько у меня будет элементов в списке, я создаю у себя цикл, смысл которого сводится к:
Получаем:
Вот как можно объяснить, что у меня и list[0]['a'] и list[1]['a'] изменились на 10? хотя должен был изменится только list[1]['a']! Python: 2.5.1 Win32 Это сообщение отредактировал(а) erty - 11.9.2007, 15:17 |
||||||||
|
|||||||||
| yar |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 8.9.2007 Где: Одесса, Украина Репутация: нет Всего: 8 |
Похоже, что y - это ссылка. Поэтому, если нужно скопировать словарь, надо использовать copy().
Вот код:
Вывод:
--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг |
||||
|
|||||
| erty |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
Спасибо! не перестаю удивляться чудесам питона
Это сообщение отредактировал(а) erty - 11.9.2007, 15:30 |
|||
|
||||
| verstalishik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
потому что у тебя в list[0] и list[1] храниться ссылка на один объект
|
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
||||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
pythonwin, звездочки не обязательны
|
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
спасибо что сказал - а то забыл написать и этот пример:
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |