Зачем использовать назначение фрагментов для заполнения пустого списка?Python

Программы на Python
Ответить
Anonymous
 Зачем использовать назначение фрагментов для заполнения пустого списка?

Сообщение Anonymous »

Я смотрю на устаревший код, работающий с комплексными числами. Программист сделал что-то вроде этого простого примера:

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

x=[(1+1j), (2+2j), (3+3j)]
j = []
j[:] = [2**y for y in x]
Я считаю, что это «назначение среза».
Попытка выполнить назначение без назначения среза приводит к ошибке «недопустимый синтаксис»:< /p>

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

>>> j[]=[(2**y) for y in x]
File "
", line 1
j[]=[(2**y) for y in x]
^
SyntaxError: invalid syntax
Что здесь происходит? Это пустой список, почему его нельзя заполнить, если не использовать назначение среза?
И если я не попытаюсь заполнить пустой список, я получу хороший результат:

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

j=[(2**y) for y in x]
Я не собираюсь его менять, мне просто нужно понять, что делает код.

Подробнее здесь: https://stackoverflow.com/questions/792 ... empty-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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