Почему Python 3.12.6 не повышает valueError при несоответствии с разрезом задания?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему Python 3.12.6 не повышает valueError при несоответствии с разрезом задания?

Сообщение Anonymous »

Я наткнулся на неожиданное поведение в Python 3.12.6 во время выполнения назначения среза. < /p>
Вот минимальный пример: < /p>
l3 = [2, 3, 4, 5]
l3[::1] = [1, 3]
print(l3)

Expected:
Since l3[::1] selects 4 elements ([2, 3, 4, 5]) and [1, 3] only provides 2 replacement values, I expected:

ValueError: attempt to assign sequence of size 2 to extended slice of size 4

Actual in Python 3.12.6:
No error is raised, and the output is:
[1, 3]

System Info:
Python Version: 3.12.6

Implementation: CPython

OS: Windows 11

Question:
Has the behavior of slice assignment changed in Python 3.12.6, or is this an unintended bug? If it's a bug, should it be reported on the Python issue tracker?



Подробнее здесь: https://stackoverflow.com/questions/796 ... h-mismatch
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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