2016-11-20 4 views

답변

4

L[0:2]은 목록의 새 사본을 만들고 L[0:2].reverse()은 그 사본을 되돌립니다. 슬라이스에 할당을 사용하는 것과 슬라이스를 읽는 것 (메서드를 호출하는 것, 객체를 변경하는 것조차도 이것을 할당으로 바꾸는 것)과는 큰 차이가 있습니다. 당신은 반전 복사본을 할당 슬라이스 할당을 사용할 수

:

L[:2] = L[1:None:-1] 

또는

L[:2] = reversed(L[:2]) 

이 역순으로 그 같은 요소와 처음 2 개 요소 대체

>>> L = [42, 81, 13, 7] 
>>> L[:2] = L[1:None:-1] 
>>> L 
[81, 42, 13, 7] 
>>> L[:2] = reversed(L[:2]) 
>>> L 
[42, 81, 13, 7] 

자세한 내용은 Explain Python's slice notation을 참조하십시오.

+0

나는 L [0 : 2] = [8,9]라고 입력했을 때, 친구와 그렇게 생각하지 않습니다. 목록을 바꿨습니다 L –

+0

@ ĐạtNguyễnThành : 예, ** 과제 **이기 때문에 가능합니다. 'L [0 : 2] .reverse()'는 아무 것도 지정하지 않습니다. –

+0

오, 나는 그걸로 너무 많이 고생했습니다! 정말 고마워. D, 나는 그것을 업 와이어하지 않았다. 왜냐하면 내가 할 수 없기 때문이다. 신의 축복이 당신 친구 야. –