당신은 목록 또는 에 할당하거나 확장 슬라이스를 삭제할 수 있습니다 배열로 변경 가능한 순서를 가지고 있지만 약간의 차이 할당 사이의 확장에가있는 경우 및 정기적 인 조각. 일정한 슬라이스 할당 시퀀스의 길이를 변경하는데 사용될 수있다 :
>>> a = range(3) >>> a [0, 1, 2] >>> a[1:3] = [4, 5, 6] >>> a [0, 4, 5, 6]
확장 조각이가요 아니다. 확장 슬라이스에 할당 할 때, 문장의 오른쪽에있는 목록은 대체 에게 슬라이스로 동일한 수의 항목이 포함되어야합니다
>>> a = range(4) >>> a [0, 1, 2, 3] >>> a[::2] [0, 2] >>> a[::2] = [0, -1] >>> a [0, 1, -1, 3] >>> a[::2] = [0,1,2] Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: attempt to assign sequence of size 3 to extended slice of size 2
는 이해가 안 돼요 왜 "일반을 "슬라이스 메서드는 작동하지만"확장 된 "슬라이스 메서드는 작동하지 않습니다. "확장 된"슬라이스와 "일반"슬라이스를 구별하는 것은 무엇이며 왜 "확장 된"슬라이스 방법은 실패합니까?
무엇이 다른지는 첫 번째 단락에서 설명한대로 세 번째 매개 변수 인 단계입니다. 이는 명령문의 오른쪽에있는 목록에 복사하려는 텍스트의 내용을 나타내는 대체 할 슬라이스 (2)와 동일한 수의 항목 (3)이 없기 때문에 실패합니다. 그렇기 때문에 그것들을 그 묘사의 삽화로 사용하는 이유입니다. 당신이 * "왜"* 무슨 뜻인지는 분명하지 않습니다. – jonrsharpe