은 내가 중첩 사전에 내 테스트의 모든 값은 0테스트
그래서 여기가 아닌 경우 확인하려면 파이썬 3
사용 단순화 된 예 딕셔너리입니다 :
d = {'a': {'1990': 10, '1991': 0, '1992': 30},
'b': {'1990': 15, '1991': 40, '1992': 0}}
과 내가 모두 dicts 'A'와 'B'키 '1990'의 가치와 '1991'의 경우 테스트 할 것은 제로
for i in d:
for k in range(2):
year = 1990
year = year + k
if all((d[i][str(year)]) != 0):
print(d[i])
,369 없습니다 'BOOL'객체 : 형식 오류를 : A [ '1991'= 0
는하지만이 I는 전체() 함수로 동작 처음과 I 오류 코어를 얻을 수 있기 때문에 1,363,210
그렇게 만, B를 반환해야
오류가있는 반복 가능한되지 않은 모든() 라인
가 대단히 감사합니다 경우!
가능한 중복 모든 기능이 작동합니까?] (http://stackoverflow.com/questions/19389490/how-do-pythons-any-and-all-functions-work) –
질문을 게시하기 전에이 스레드를 살펴 보았습니다. 그러나 그것은 단지 수수께끼를 도왔습니다. 이론적으로 모든 기능이 내 요구에 맞는 연산자입니다. 하지만 어쨌든 모든 기능을 반복 할 수는 없습니다. 'TR = 모든 ((D [I] [STR (년)])! = 0) 경우 TR : 인쇄 (하지만이뿐만 아니라 작동하지 않습니다 , 내가 for 루프를 실행하여 생각 d [i])' – TDot
그러면 실제 문제는 반복 가능한 내용과 전달 방법을 이해하는 것입니다. '(d [i] [str (year)])! = 0'은'bool'이므로,'all '에리스트와 같은 것을 전달해야합니다. –