그래서 한 목록에 다른 목록의 하위 집합의 역을 추가하려고합니다. 웬일인지, 통역사는 그것을 좋아하지 않는 것처럼 보입니다. 여기 내가하는 일이있다.목록의 하위 집합에서 list.reverse()를 사용합니다. "NoneType"개체가 반복 가능하지 않습니다.
list1.extend(list2[someInt:someOtherInt].reverse())
왜 합법적이지 않습니까? 그것은 나에게 합리적인 것처럼 보입니다.
그래서 한 목록에 다른 목록의 하위 집합의 역을 추가하려고합니다. 웬일인지, 통역사는 그것을 좋아하지 않는 것처럼 보입니다. 여기 내가하는 일이있다.목록의 하위 집합에서 list.reverse()를 사용합니다. "NoneType"개체가 반복 가능하지 않습니다.
list1.extend(list2[someInt:someOtherInt].reverse())
왜 합법적이지 않습니까? 그것은 나에게 합리적인 것처럼 보입니다.
이그나시오의 답변 외에도 다음과 같은 해결책이 있습니다. 시도해보십시오 :
list1.extend(reversed(list2[someInt:someOtherInt]))
또는 역순으로 색인 된 슬라이스를 사용할 수 있지만 off-by-one 오류에주의하십시오!
list1.extend(list2[someOtherInt - 1: someInt - 1: -1])
특히 두 번째 방법이 0 개의 인덱스로 실패하므로 첫 번째 방법을 고수하는 것이 좋습니다.
reversed
과 관련된 다른 트릭은 list1.sort()
대신 sorted(list1)
을 사용할 수 있습니다.
list
메서드가 작동하므로 즉, None
을 반환합니다.
이 디자인 결정이 선택된 이유를 알고 있습니까? 나는 비슷한 질문을했다 [여기] (http://stackoverflow.com/questions/11205254/why-dont-list-operations-return-the-resulting-list) – scubbo
이 답변의 유일한 문제는 그 doesn 실제 문제를 설명하고 질문의 코드가 어떻게 작동하는지 설명합니다. –
예, 다른 대답은 해결책을 제공하지 않습니다. –
@ Justin :하지만 함께 한 쌍의 대답이 질문에 완전히 대답합니다. 이 사이트의 목적은 영업 질문에 대한 답변입니다. Ignacio와 저는 함께 대답을했습니다. 문제가 정확히 무엇입니까? 포스터가 가장 도움이되었던 답변을 수락하면 허용 된 답변을 편집하여 다른 유용한 게시물의 정보를 포함 할 수 있습니다. –