여기에 두 사전의 집합 인 X
과 Y
이 있습니다. CSV 모듈의 DictReader
을 사용하여 저장했습니다.하나의 dict 객체에 저장된 여러 개의 순서가 지정된 사전에서 항목을 추출하십시오.
순서가 지정된 두 개의 사전이 들어있는 example_dicto
사전을 호출 할 수 있습니다.
Name Type Size Value
example_dict dict 2 {'X':OrderedDict, 'Y': OrderedDict}
이 좋아, 그래서 X
을 알고 Y
여기에 기본 키에 : 같은 설명을 위해, 스파이더에서 변수 탐색기에서이 보인다. 그러나이 두 사전을 통해 가치를 찾아보고 싶습니다. X
에 Duration
열이 있고 Y
에 Duration (min)
열이 있다고 가정하고 행에 따라이 열을 읽고 해당 값을 반환하는 함수가 필요합니다. 내가 info_from_row
를 호출 할 때
def info_from_row(row, dictionary):
if dict == 'X':
duration = float(row['Duration'])
else:
duration = float(row['Duration (min)'])
return duration
는, 파이썬은 역 추적이 '키'중 어느 것도 존재하지 내게 말하고있다 일반적인 KeyError를 반환합니다. 그래서 기본적으로 사전의 컬렉션 인 사전을 색인화 한 다음 값을 반환하기 위해 '주요'키 X와 Y 내의 색인 키를 색인해야합니다. dict['key']
메서드에서 오류가 발생하고 'Duration' in X
이 False
을 반환하므로 인덱스를 어떻게 작성합니까?
더 명확한 설명을 위해,이 사전은 다음과 같이 :
print(example_dict)
{'X': OrderedDict([('ID', '123456'), ('Duration', '54941')]),
'Y': OrderedDict([('ID', '789101'), ('Duration (min)', '7869')])}
이 함수를 어떻게 부르나요? 당신은 어떤 논쟁을하고 있습니까? –
이 함수를 호출하는 문법에 의문이 생겼습니다. 간단한'info_from_row (5, 'X')'는 저에게 그 오류를주고 있습니다. 이것은'X'의'Duration' 열의 다섯 번째 값에 대한 값을 반환합니다. –
''example_dict [ 'X'] [ 'Duration']''''54941''' 괜찮습니다.''info_from_row (example_dict, 'X')''를 호출하는 경우''row [ 'Duration']''는 실제로''exampld_dict [ 'Duration']''이며 실제로는''KeyError' '. ''row [dict] [ 'Duration']''과''row [dict] [ 'Duration (min)']''과 같은 것을 사용해야합니다. (또한,''dict'' 변수를 호출하지 마십시오. 파이썬 내장 식입니다 ...). –