이 문제에 약간의 도움이 필요 :파이썬 사전과 튜플 추가
을 내가 가지고있는 다음 코드를
def insertIntoDataStruct(state,job,count,dict):
if not state in dict:
print "adding"
dict[state] = [(job,count)]
else:
for x in range(0, len(dict[state])):
if(dict[state][x][0] == job):
print "hi"
print dict[state][x][0]
print job
print state
print dict[state][x][1]
dict[state][x][1] = dict[state][x][1] + 1
else:
dict[state].append((job,count))
courses = {}
insertIntoDataStruct("CA", "2121", (1), courses)
insertIntoDataStruct("CA", "169521", 1, courses)
insertIntoDataStruct("CA", "2121", 1, courses)
insertIntoDataStruct("TX", "2121", 1, courses)
insertIntoDataStruct("TX", "169521", 1, courses)
insertIntoDataStruct("TX", "262420", 1, courses)
print courses
나는이 오류가 무엇입니까 :
adding File "test2.py", line 21, in <module>
hi
insertIntoDataStruct("CA", "2121", 1, courses)
2121
File "test2.py", line 13, in insertIntoDataStruct
2121
dict[state][x][1] = dict[state][x][1] + 1
CA
TypeError: 'tuple' object does not support item assignment
1
Process finished with exit code 1
어떻게을 내가 수정에 대해 갈 : TypeError : 'tuple'객체가 항목 할당을 지원하지 않는다.
이상적인 outp 이 코드의 ut은 다음과 같아야합니다.
{
'CA': [('2121', 2), ('169521', 1), ('2122', 1)],
'TX': [('2121', 1), ('169521', 1), ('262420', 1)]
}
감사합니다.
'[(job, count)]'는리스트 안에있는 튜플입니다. 튜플은 변경 불가능합니다. 즉, 변경할 수 없습니다. 13 행에서 튜플 내부의 값을 변경하려고 시도하는 것 같습니다. 카운터를 증가시키기 위해'collections'을 체크해볼 수도 있습니다 : https://docs.python.org/2/library/collections.html –