] * n 목록이 함께 연결된 것으로 보이는 예기치 않은 동작이 발생할 수 있습니다.
솔루션
별도의 목록 목록을 만듭니다. , 각 목록을 별도로 초기화하는 것이 중요합니다. 이것은 다음 구문을 사용하여 달성 할 수 있습니다 :
x = [[] for i in range(n)]
루프의 반복, 독립 목록 개체 목록을 초래합니다.
차이를 설명하려면 다음 코드 스 니펫을 고려하십시오.
x = [[]] * 3
x[1].append(0)
print(x) # Output: [[0], [0], [0]]
이 예에서는 목록 X에 동일한 목록 개체에 대한 세 가지 참조가 포함되어 있으므로 한 목록에 대한 수정 사항은 영향을 미칩니다. 다른 한편으로, 다음 코드 스 니펫은 세 가지 별개의 목록을 만듭니다. x [1]. 부회 (0) print (x) # output : [[], [0], []]
여기서 x의 각 목록은 별도의 객체이므로 한 목록으로의 변경 사항은 다른 목록에 영향을 미치지 않습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3