목록 역전을 위한 메서드 체이닝
목록 작업 시 별도의 문을 명시적으로 사용하지 않고 역방향 복사본을 만드는 것이 바람직한 경우가 많습니다. 그러나 내장 list.reverse() 메서드는 None을 반환하고 목록을 그 자리에서 수정합니다.
문제
다음 코드를 고려하세요.
k = ['F', ' ', 'B', 'F'] def solution(formation): return (formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel))) solution(k)
이 코드는 반전된 목록에서 두 문자(bCamel 및 fCamel)의 인덱스를 비교하려고 시도합니다. 그러나 list.reverse()가 None을 반환하고 (formation.reverse())를 None으로 남겨두기 때문에 AttributeError가 발생합니다.
해결책: 슬라이싱 사용
대신 list.reverse()를 사용하면 슬라이싱을 사용하여 반전된 결과를 얻을 수 있습니다. list:
reversed_formation = formation[::-1]
[::-1] 구문은 목록을 내부에서 수정하지 않고 목록을 되돌립니다. 그런 다음 필요에 따라 reversed_formation을 사용할 수 있습니다.
def solution(formation): reversed_formation = formation[::-1] return (formation.index(bCamel) > (len(formation) - 1 - reversed_formation.index(fCamel)))
위 내용은 원본 목록을 수정하지 않고 Python에서 목록을 뒤집는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!