편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.12.23

    [파이썬 초보] for 문에서 빈 딕셔너리 선언 위치 차이 (안 or 밖) 에 따라 결과가 달라지는 이유 질문


    안녕하세요 파이썬 초보 입니다.

    for 문으로 순차적으로 증가하는 딕셔너리 만든 후 하나의 리스트에 추가하려고 하는데요, 빈 딕셔너리 선언 위치 차이 (for 문 밖에서 할지, for 문 안에서 할지) 에 따라 결과과 달라져서, 왜 이런지 이해를 하려고 해도 잘 되지 않습니다. 누가 쉽게 설명해 주실 수 있을까요.

    아래는 제가 만든 예시 이미지인데, In [8] 스크립트가 정상작동하고, In [7] 스크립트도 정상적으로 작동할 것 같은데, In [7] 에서는 가장 마지막 값만 반복적으로 입력되어, 이해가 잘 되지 않습니다.

    In [7] 에서 for 문 밖에서 만든 b = { } 가 for 문이 작동하면서, b["순서"] = i 를 만들면서 바로 a.append 로 추가되고, 다시 i+1 로 순서가 돌 때 b["순서"] = i+1 딕셔너리를 만들고 다시 a.append 로 계속 업데이트식으로 추가 되지 않을까 생각했습니다.

    고수님들의 고견 여쭙습니다.

    이미지

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.12.23

    [파이썬 초보] for 문에서 빈 딕셔너리 선언 위치 차이 (안 or 밖) 에 따라 결과가 달라지는 이유 질문


    안녕하세요 파이썬 초보 입니다... for 문으로 순차적으로 증가하는 딕셔너리 만든 후 하나의 리스트에 추가하려고 하는데요, 빈 딕셔너리 선언 위치 차이 (for 문 밖에서 할지, for 문 안에서 할지) 에 따라 결과과 달라져서, 왜 이런지 이해를 하려고 해도 잘 되지 않습니다. 누가 쉽게 설명해 주실 수 있을까요...

    아래는 제가 만든 예시 이미지인데, In [8] 스크립트가 정상작동하고, In [7] 스크립트도 정상적으로 작동할 것 같은데, In [7] 에서는 가장 마지막 값만 반복적으로 입력되어, 이해가 잘 되지 않습니다...ㅠ

    In [7] 에서 for 문 밖에서 만든 b = { } 가 for 문이 작동하면서, b["순서"] = i 를 만들면서 바로 a.append 로 추가되고, 다시 i+1 로 순서가 돌 때 b["순서"] = i+1 딕셔너리를 만들고 다시 a.append 로 계속 업데이트식으로 추가 되지 않을까 생각했습니다..

    고수님들의 고견 여쭙습니다..

    이미지