사전의 튜플 목록에서 값 조합을 합산하려고합니다. 예를 들어, 내 사전에는 다음이 포함되어 있습니다.파이썬은 조합을 사용하여 사전의 목록에있는 튜플의 값을 합산합니까?
dict = {1: [(2, 2), (4, 3), (6, 1), (7, 1), (8, 3)], 2: [(4, 1), (5, 3), (1, 2)],...}
여러 항목이 포함되어 있습니다. 나는 그래서 항목 1 (4)의 최대 합계 많은 조합의 각 항목에 대한 튜플의 두 번째 값을 요약하기 위해 노력하고있어, 원하는 출력은 다음과 같습니다
{1: [(2, 6, 3), (2, 7, 3), (4, 6, 4), (4, 7, 4), (6, 7, 2), (8, 6, 4), (8, 7, 4)]
을 어디에서 세 번째 값 이 튜플은 이전 튜플의 두 번째 값의 조합의 합계이며이 튜플의 첫 번째 및 두 번째 값은 이전 튜플의 연관된 첫 번째 값입니다.
나는 다음과 같은 코드를 시도 :
for key, value in dict.items():
object1 = key
mylist = value
for tup in mylist:
object2 = tup[0]
pair = tup[1]
combo = itertools.combinations(tup[1],2)
sum = {k:sum(j for _,j in v) for k,v in combo}
if sum <= 4:
print(sum)
을 그리고 오류
'numpy.float64' object is not iterable
내 오류 "콤보"와 itertools의 가능성이 내 사용에서 비롯된 생각을 얻는다. 코드의이 섹션을 수정해야 할 것인지 또는 필자의 접근 방식에서 벗어난 것인지 확실하지 않습니다.
나는이 문제를 이해하지 못하는 것 같습니다. 오류는 반복 할 수없는 항목을 반복하는 중입니다. 그러나 코드는 사용자가 입력 한 내용을 표시하지 않습니다. –
'mylist '란 무엇입니까? –
_ "내 오류는"콤보 "에서 유래했다고 생각합니다."_ 추적은 오류가 발생한 행을 나타냅니다. 제발 질문에 관련성이 있다고 생각합니다. –