중첩 된 사전이 목록에 올바르게 추가되지 않는 이유는 무엇입니까?

한스 첸

목록에 사전을 추가하려고하는데 하위 사전은 항상 CSV 파일 (deviceProfile.csv)에서 읽은 마지막 사전을 유지합니다. 이유를 아는 사람이 있습니까? 다음은 내 CSV 파일입니다.

name,description,primaryTable,startingAddress,boolIndex
test_name_1,1,table_1,1,1
test_name_2,2,table_2,2,2
test_name_3,3,table_3,3,3

다음은 내 파이썬 코드입니다.

import csv
import yaml
from pprint import pprint

resource = {
    'name': "",
    'description': "",
    'attributes':
      { 'primaryTable': "", 'startingAddress': "", 'boolIndex': "" },
}

resourceArray = []

with open("deviceProfile.csv") as f:
    myCsvDic = csv.DictReader(f)
    for row in myCsvDic:
        resource['name'] = row['name']
        resource['description'] = row['description']
        resource['attributes']['primaryTable'] = row['primaryTable']
        resource['attributes']['startingAddress'] = row['startingAddress']
        resource['attributes']['boolIndex'] = row['boolIndex']
        test = resource.copy()
        resourceArray.append(test)

pprint (resourceArray)

결과는

[{'attributes': {'boolIndex': '3',
                 'primaryTable': 'table_3',
                 'startingAddress': '3'},
  'description': '1',
  'name': 'test_name_1'},
 {'attributes': {'boolIndex': '3',
                 'primaryTable': 'table_3',
                 'startingAddress': '3'},
  'description': '2',
  'name': 'test_name_2'},
 {'attributes': {'boolIndex': '3',
                 'primaryTable': 'table_3',
                 'startingAddress': '3'},
  'description': '3',
  'name': 'test_name_3'}]

이름설명 이 목록에 올바르게 추가되는 것이 이상 하지만 attributes . 속성은 항상 마지막 하위 사전을 추가한다.

어떤 도움을 주시면 감사하겠습니다. 감사.

Mehrdad Pedramfar

이것은 copy. 기본적으로 복사는 얕은 복사이며 레벨 1 요소 만 복사합니다. deepcopy귀하의 경우에 사용해야 합니다. 다음으로 교체 test = resource.copy():

from copy import deepcopy

test = deepcopy(resource)

자세한 내용 은이 링크 또는에 대해 알려주는 다른 링크를 참조하십시오 copy(shallow and deep).

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jQuery에 추가 된 HTML이 Chrome에서 올바르게 중첩되지 않습니다.

분류에서Dev

$ _SERVER [ 'PHP_SELF'] (동일한 html 파일)로 처리 된 중첩 양식이 올바르게 표시 / 처리되지 않는 이유는 무엇입니까?

분류에서Dev

Chrome 51에서 본 SVG가 텍스트 뒤에 추가 된 간격으로 올바르게 배치되지 않는 이유는 무엇입니까?

분류에서Dev

중첩 된 내비게이션 바가 제대로 드롭되지 않는 이유는 무엇입니까?

분류에서Dev

중첩 된 ItemControls가있는 ItemContainer 스타일이 올바르게 바인딩되지 않습니다.

분류에서Dev

축소 가능한 행이있는 중첩 테이블이 올바르게 표시되지 않는 이유는 무엇입니까?

분류에서Dev

내 프로그램이 쉘에 중첩 된 if 및 else가 표시되지 않는 이유는 무엇입니까?

분류에서Dev

동일하지만 다르게 생성 된 중첩 사전의 키에 값을 할당하면 다른 결과가 나오는 이유는 무엇입니까?

분류에서Dev

중첩 된 배열 요소가 제대로 함께 추가되지 않는 이유는 무엇입니까?

분류에서Dev

Acrobat에서 계산 합계가 올바르게 업데이트되지 않는 이유는 무엇입니까?

분류에서Dev

이 날짜 합계가 반응에 올바르게 표시되지 않는 이유는 무엇입니까?

분류에서Dev

변경된 tkinter 위젯이 올바르게 배치되지 않는 이유는 무엇입니까?

분류에서Dev

threadpooltest가 올바르게 실행되지 않는 이유는 무엇입니까?

분류에서Dev

중첩 된 사전은 괜찮지 만 중첩 된 집합이 금지 된 이유는 무엇입니까?

분류에서Dev

구문 분석 된 Double이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 아이콘이 albert launcher에서 올바르게 표시되지 않는 이유는 무엇입니까?

분류에서Dev

QT에 포함 된 라이브러리가 올바르지 않은 이유는 무엇입니까?

분류에서Dev

systemd 스크립트가 부팅시 예상 된 결과를 생성하지 않지만 나중에 올바르게 생성되는 이유는 무엇입니까?

분류에서Dev

pyspark SQL이 group by 절에서 올바르게 계산되지 않는 이유는 무엇입니까?

분류에서Dev

파이썬에서 다르게 중첩 된 사전과 목록을 비교하고 교차점을 찾는 방법은 무엇입니까?

분류에서Dev

레일에 중첩 된 리소스가있는 이유는 무엇입니까?

분류에서Dev

튜플에서 생성 된 사전 목록의 사전 값이 올바르게 업데이트되지 않음

분류에서Dev

내 Arc 테마가 Ubuntu 18.04에서 올바르게 보이지 않는 이유는 무엇입니까?

분류에서Dev

AnimatedBuilder ()에 중첩 된 경우 AnimatedSwitcher ()가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

중첩 된 'for'루프가 아래 프로그램에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

목록 이해에서 중첩 된 for 루프를 사용할 수있는 내부 이유는 무엇입니까?

분류에서Dev

두 목록에 중첩 된 사전에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

중첩 된 개인 클래스 컬렉션이있는 클래스에 대해 operator <<를 올바르게 오버로드하는 방법은 무엇입니까?

분류에서Dev

node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    jQuery에 추가 된 HTML이 Chrome에서 올바르게 중첩되지 않습니다.

  2. 2

    $ _SERVER [ 'PHP_SELF'] (동일한 html 파일)로 처리 된 중첩 양식이 올바르게 표시 / 처리되지 않는 이유는 무엇입니까?

  3. 3

    Chrome 51에서 본 SVG가 텍스트 뒤에 추가 된 간격으로 올바르게 배치되지 않는 이유는 무엇입니까?

  4. 4

    중첩 된 내비게이션 바가 제대로 드롭되지 않는 이유는 무엇입니까?

  5. 5

    중첩 된 ItemControls가있는 ItemContainer 스타일이 올바르게 바인딩되지 않습니다.

  6. 6

    축소 가능한 행이있는 중첩 테이블이 올바르게 표시되지 않는 이유는 무엇입니까?

  7. 7

    내 프로그램이 쉘에 중첩 된 if 및 else가 표시되지 않는 이유는 무엇입니까?

  8. 8

    동일하지만 다르게 생성 된 중첩 사전의 키에 값을 할당하면 다른 결과가 나오는 이유는 무엇입니까?

  9. 9

    중첩 된 배열 요소가 제대로 함께 추가되지 않는 이유는 무엇입니까?

  10. 10

    Acrobat에서 계산 합계가 올바르게 업데이트되지 않는 이유는 무엇입니까?

  11. 11

    이 날짜 합계가 반응에 올바르게 표시되지 않는 이유는 무엇입니까?

  12. 12

    변경된 tkinter 위젯이 올바르게 배치되지 않는 이유는 무엇입니까?

  13. 13

    threadpooltest가 올바르게 실행되지 않는 이유는 무엇입니까?

  14. 14

    중첩 된 사전은 괜찮지 만 중첩 된 집합이 금지 된 이유는 무엇입니까?

  15. 15

    구문 분석 된 Double이 올바르게 작동하지 않는 이유는 무엇입니까?

  16. 16

    내 아이콘이 albert launcher에서 올바르게 표시되지 않는 이유는 무엇입니까?

  17. 17

    QT에 포함 된 라이브러리가 올바르지 않은 이유는 무엇입니까?

  18. 18

    systemd 스크립트가 부팅시 예상 된 결과를 생성하지 않지만 나중에 올바르게 생성되는 이유는 무엇입니까?

  19. 19

    pyspark SQL이 group by 절에서 올바르게 계산되지 않는 이유는 무엇입니까?

  20. 20

    파이썬에서 다르게 중첩 된 사전과 목록을 비교하고 교차점을 찾는 방법은 무엇입니까?

  21. 21

    레일에 중첩 된 리소스가있는 이유는 무엇입니까?

  22. 22

    튜플에서 생성 된 사전 목록의 사전 값이 올바르게 업데이트되지 않음

  23. 23

    내 Arc 테마가 Ubuntu 18.04에서 올바르게 보이지 않는 이유는 무엇입니까?

  24. 24

    AnimatedBuilder ()에 중첩 된 경우 AnimatedSwitcher ()가 작동하지 않는 이유는 무엇입니까?

  25. 25

    중첩 된 'for'루프가 아래 프로그램에서 작동하지 않는 이유는 무엇입니까?

  26. 26

    목록 이해에서 중첩 된 for 루프를 사용할 수있는 내부 이유는 무엇입니까?

  27. 27

    두 목록에 중첩 된 사전에서 값을 가져 오는 방법은 무엇입니까?

  28. 28

    중첩 된 개인 클래스 컬렉션이있는 클래스에 대해 operator <<를 올바르게 오버로드하는 방법은 무엇입니까?

  29. 29

    node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

뜨겁다태그

보관