@lightmanLP
Душу питона

Почему все просто зависает и перегружается?

Захотел я сделать массив всех русских букв и написал кодец.
a = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
a = list(a)
b = a
for i in a:
 b+= [i.upper()]
print(b)

писал сразу в консоли питона. После запуска цикла for долго выпоняется, а потом зависает. Затем завис весь комп. У моего друга просто вышла ошибка о нехватке памяти. В чем проблема?
P.S. по алфавиту написал другой код. Просто интересно в чем проблема.
  • Вопрос задан
  • 174 просмотра
Решения вопроса 2
longclaps
@longclaps
a = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
a = list(a)
b = a
print(id(a) == id(b)) # True, a и b - один и тот же list
b = a[:]
print(id(a) == id(b)) # False, теперь разные
for i in a:
    b += [i.upper()]
print(b)
Ответ написан
Zarom
@Zarom
Мастер на все руки из жопы
Проблема в том, что вам бы питон начать учить.
Просто сразу бы поняли, что a и b - один и тот же list, а не две копии.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Pythonpy
Ем за еду. Рисую за еду. Прогаю за еду.
На хабре статейка есть https://habr.com/ru/post/458902/ она решит многие ваши проблемы
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы