Python의 목록 목록에서 사전 변경

치킨 갓

이것이 기본적인 Python 질문이라면 미안하지만 어떤 이유로 든 이해할 수 없습니다.

사전 목록을 생성한다고 가정 해 보겠습니다.

b=[[{'j':1}]*3]*3

그래서 "b"는 다음과 같습니다.

[[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 1}]] 

이제 "b"를 다음과 같이 변경한다고 가정합니다.

[[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 1}]] 

그래서이 코드 줄을 순진하게 사용합니다.

b[1][2]['j']=90

그러나 이제 "b"는 다음과 같습니다.

[[{'j': 90}, {'j': 90}, {'j': 90}],
[{'j': 90}, {'j': 90}, {'j': 90}],
[{'j': 90}, {'j': 90}, {'j': 90}]] 

목록 목록의 모든 사전이 변경된 이유는 무엇입니까? b [1] [2] 항목 만 변경되지 않은 이유는 무엇입니까?

또한 라인

b=[[{'j':1}]*3]*3
b[1][2]={'j':90} 

"b"를 다음으로 변경

[[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 90}]] 

나는 또한 설명 할 수 없습니다.

케빈

사전의 copy()명령 을 사용해야합니다. 그렇지 않으면 동일한 사전에 대한 여러 참조를 작성합니다.

다음과 같이 시도하십시오.

>>> c = {'j':1}
>>> b = [c, c.copy(), c.copy()]
>>> b
[{'j': 1}, {'j': 1}, {'j': 1}]
>>> b[2]['j']=2
>>> b
[{'j': 1}, {'j': 1}, {'j': 2}]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

목록에서 각 사전의 특정 키 값 변경-Python

분류에서Dev

사전의 정보에서 목록 요소 변경

분류에서Dev

경로 목록을 Python에서 사전으로 변환

분류에서Dev

사전 목록에서 값 변경

분류에서Dev

Python의 사전 목록에서 특정 값을 변경하는 방법

분류에서Dev

Python의 사전 목록에서 목록 사전 만들기

분류에서Dev

이전 목록의 목록 변경 요소에 값 추가

분류에서Dev

목록을 새 목록에 복사하면 여전히 이전 목록의 값이 변경됩니다.

분류에서Dev

목록을 Python에서 사전 사전으로 변환

분류에서Dev

목록의 항목이 사전의 하위 요소에서 목록의 항목과 일치하는 경우

분류에서Dev

python2.7의 사전 내 목록 변경 및 추가

분류에서Dev

Bash의 두 목록에서 변경 사항 확인

분류에서Dev

Python : 사전 목록에서 목록 항목 필터링

분류에서Dev

Python : 사전 목록에서 목록 항목 필터링

분류에서Dev

사전 목록에서 사전 키 순서 변경

분류에서Dev

Python에서 사전 목록을 사전 사전으로 변환하는 방법

분류에서Dev

Python : 목록 내에서 목록 복사

분류에서Dev

목록의 사전을 사전 목록으로 변환

분류에서Dev

목록의 사전을 사전 목록으로 변환

분류에서Dev

목록의 각 사전 아래에있는 키 "이름"에서 값이 파생되도록 사전 목록 열을 열 목록으로 변환

분류에서Dev

파이썬에서 사전의 중첩 된 목록을 변환

분류에서Dev

사전의 목록을 목록의 사전으로 변환하는 방법 (Python)

분류에서Dev

Python :이 목록을 사전에서 변환하는 방법?

분류에서Dev

ReactJS를 사용하여 목록의 항목 순서 변경

분류에서Dev

R의 목록 목록에서 특정 이름 변경

분류에서Dev

Python 3.8에서 여러 값의 튜플 목록을 사전으로 변환

분류에서Dev

사전 파이썬에서 목록 목록 변환

분류에서Dev

PowerShell 매개 변수를 사전에서 C # 메서드의 문자열 목록으로 변경

분류에서Dev

사전의 목록 내 목록에서 문자열 검색

Related 관련 기사

  1. 1

    목록에서 각 사전의 특정 키 값 변경-Python

  2. 2

    사전의 정보에서 목록 요소 변경

  3. 3

    경로 목록을 Python에서 사전으로 변환

  4. 4

    사전 목록에서 값 변경

  5. 5

    Python의 사전 목록에서 특정 값을 변경하는 방법

  6. 6

    Python의 사전 목록에서 목록 사전 만들기

  7. 7

    이전 목록의 목록 변경 요소에 값 추가

  8. 8

    목록을 새 목록에 복사하면 여전히 이전 목록의 값이 변경됩니다.

  9. 9

    목록을 Python에서 사전 사전으로 변환

  10. 10

    목록의 항목이 사전의 하위 요소에서 목록의 항목과 일치하는 경우

  11. 11

    python2.7의 사전 내 목록 변경 및 추가

  12. 12

    Bash의 두 목록에서 변경 사항 확인

  13. 13

    Python : 사전 목록에서 목록 항목 필터링

  14. 14

    Python : 사전 목록에서 목록 항목 필터링

  15. 15

    사전 목록에서 사전 키 순서 변경

  16. 16

    Python에서 사전 목록을 사전 사전으로 변환하는 방법

  17. 17

    Python : 목록 내에서 목록 복사

  18. 18

    목록의 사전을 사전 목록으로 변환

  19. 19

    목록의 사전을 사전 목록으로 변환

  20. 20

    목록의 각 사전 아래에있는 키 "이름"에서 값이 파생되도록 사전 목록 열을 열 목록으로 변환

  21. 21

    파이썬에서 사전의 중첩 된 목록을 변환

  22. 22

    사전의 목록을 목록의 사전으로 변환하는 방법 (Python)

  23. 23

    Python :이 목록을 사전에서 변환하는 방법?

  24. 24

    ReactJS를 사용하여 목록의 항목 순서 변경

  25. 25

    R의 목록 목록에서 특정 이름 변경

  26. 26

    Python 3.8에서 여러 값의 튜플 목록을 사전으로 변환

  27. 27

    사전 파이썬에서 목록 목록 변환

  28. 28

    PowerShell 매개 변수를 사전에서 C # 메서드의 문자열 목록으로 변경

  29. 29

    사전의 목록 내 목록에서 문자열 검색

뜨겁다태그

보관