파이썬 리스트에 대해서.. 단델리언 오늘 문제를 풀다가 도저히 이해가 안가는게 있어서 질문드립니다. 문제에 대한 질문이라기 보다는 파이썬 리스트에 대한 것입니다. JUMPGAME 문제를 푸는데 이상하게 안 풀리는겁니다. 그렇게 어려운 문제도 아니고 틀린게 없어보이는데 끝내 찾아내긴 했는데 이해가 안갑니다. cache 를 만들어서 -1로 초기화를 하는데 tmp = [-1 for i in range(5)] cache = [tmp for i in range(5)] 이렇게 cache 를 만들어서 출력해보면 잘 만들어졌거든요... 근데 계속 안되서 실험을 해보다가 cachel = [[-1 for i in range(5)] for x in range(5)] 이렇게 cachel 로 만들면 되더라구요 그래서 다른 스크립트 파일에다가 두 개를 다 만들어서 cache[1][1] = 1 과 cachel[1][1] = 1 해보면 위의 cache는 list 안의 모든 항목이 1로 바뀌더라구여 밑의 cachel 은 정상적으로 원하는대로 바뀌구요... 왜 그런거죠? 정말 처음봐서 그렇습니다.. 제가 무지한건가요 ㅠㅠ 7년 전
5개의 댓글이 있습니다. 단델리언 아 파이썬 버전은 3.4 입니다! 7년 전 link Corea cache는 tmp 객체를 다섯개 들고 있는 리스트가 됩니다. tmp는 결국 하나의 리스트를 가리키고 있게 되구요. 7년 전 link 단델리언 그럼 cache[1][1] = 1 이라는게 결국 cache[1] = 1 이랑 같은게 되는건가요? 7년 전 link Corea cache[1][1] = 1이라는게 tmp[1] = 1과 같게되죠 :) 7년 전 link 단델리언 아... tmp 라는 객체... 이제 이해했습니다 감사합니다! 열심히 공부해야겠네요.. 7년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
단델리언
오늘 문제를 풀다가 도저히 이해가 안가는게 있어서 질문드립니다.
문제에 대한 질문이라기 보다는 파이썬 리스트에 대한 것입니다.
JUMPGAME 문제를 푸는데 이상하게 안 풀리는겁니다.
그렇게 어려운 문제도 아니고 틀린게 없어보이는데
끝내 찾아내긴 했는데 이해가 안갑니다.
cache 를 만들어서 -1로 초기화를 하는데
tmp = [-1 for i in range(5)]
cache = [tmp for i in range(5)]
이렇게 cache 를 만들어서 출력해보면 잘 만들어졌거든요...
근데 계속 안되서 실험을 해보다가
cachel = [[-1 for i in range(5)] for x in range(5)]
이렇게 cachel 로 만들면 되더라구요
그래서 다른 스크립트 파일에다가
두 개를 다 만들어서
cache[1][1] = 1
과
cachel[1][1] = 1 해보면
위의 cache는 list 안의 모든 항목이 1로 바뀌더라구여
밑의 cachel 은 정상적으로 원하는대로 바뀌구요...
왜 그런거죠?
정말 처음봐서 그렇습니다..
제가 무지한건가요 ㅠㅠ
7년 전