dict1 = {datetime.timedelta(3, 21388, 702926): 2, datetime.timedelta(10, 21388, 702926): 1, datetime.timedelta(3, 65011, 297074): 2, datetime.timedelta(14, 65011, 297074): 1, datetime.timedelta(17, 65011, 297074): 1, datetime.timedelta(0, 65011, 297074): 1, datetime.timedelta(7, 65011, 297074): 1, datetime.timedelta(10, 65011, 297074): 1, datetime.timedelta(0, 21388, 702926): 1}
timedeltas를 제거하려고합니다.이 값의 합은 6입니다. 또한 dict에서 가장 큰 시간표 여야합니다. 여기파이썬은 값이 합계가되는 키를 제거합니다.
내가 그것을 해결하기 위해 노력하고있어 방법은 다음과 같습니다
x = 0
for key in dict1:
if key in sorted(dict1)[-1] and x < 6:
x = x+dict1[key]
del dict1[key]
내 생각은 (DICT) 분류 끝에 가장 큰 사람과 timedeltas의 목록을 반환합니다. 나는 목록에서 가장 큰 timedelta 각 키와 일치하는 x는 6에 도달 할 때까지 X & 해당 키를 제거하기 위해 그 값을 합산하지만이 반환 수 :
TypeError: argument of type 'datetime.timedelta' is not iterable
다시 난처한. 나는 그 값의 집계 합이 도달 할 때까지 당신이 가장 큰 timedeltas 삭제를 추론 코멘트에서
이름으로 dict', 당신은 내장을 마스킹하는'사용하지 마십시오 유형. –
이 질문을보십시오 당신을 돕는 경우에 참조하십시오 - http://stackoverflow.com/questions/1060279/iterating-through-a-range-of-dates-in-python – Dayan
만약 가장 큰 키의 합이 * 정확히 6 아닌가요? –