Почему list+="_" работает, а list=list+"_" нет? [дубликат]Python

Программы на Python
Anonymous
Почему list+="_" работает, а list=list+"_" нет? [дубликат]

Сообщение Anonymous »

У меня есть два, как мне показалось, похожих фрагмента кода. Первый работает как задумано, а второй нет и я не понимаю почему.
  • Работает - отображает ['_', '_ ', '_', '_', '_']

    Код: Выделить всё

    display = []
    for _ in range(5):
    display += "_"
    print(display)
    
  • Это не работает. Почему? Структура x +=1 должна работать так же, как x = x +1.

    Код: Выделить всё

    display = []
    for _ in range(5):
    display = display + "_"
    print(display)
    

    Код: Выделить всё

    Traceback (most recent call last):
    File "main.py", line 17, in 
    display = display + "_"
    TypeError: can only concatenate list (not "str") to list
    
Я ожидаю в обоих случаях ['_', '_', '_', '_', ' _'] для отображения.
Я знаю, что могу использовать display.append("_"), но мне интересно, почему приведенное выше приводит к ошибке.


Подробнее здесь: https://stackoverflow.com/questions/786 ... t-does-not

Вернуться в «Python»