이 문제를 파악하는 방법에 대한 아이디어가 있지만 많은 양의 데이터로 최적화해야합니다. 나는 각 주마다 모든 값을 찾고 얼마나 자주 나타나는지에 대한 카운터를 갖고 싶다.사전에서 값 확인
courses = {}
def insertIntoDataStruct(state,job,count,dict):
if not state in dict: #adds state to list with first job and count
dict[state] = [[job,count]]
else:
dict[state].append([job,count])
insertIntoDataStruct("TX", 214, 1, courses)
insertIntoDataStruct("CA", 3124, 1, courses)
insertIntoDataStruct("TX", 21455, 1, courses)
insertIntoDataStruct("CA", 5124, 1, courses)
insertIntoDataStruct("CA", 5124, 1, courses)
즉 출력합니다 :
{'CA': [[3124, 1], [5124, 1], [5124, 1]], 'TX': [[214, 1], [21455, 1]]}
CA의 값 5124 두 번 추가됩니다한다면, 그것은해야 출력 대신 :
{'CA': [[3124, 1], [5124, 2], 'TX': [[214, 1], [21455, 1]]}
나는 각을 확인하는 루프를 만들 수 있습니다 숫자가 이미 상태 안에 있다면 시간이 추가되지만, 각 라인을 추가 할 때 수천 개의 값을 비교해 보면 시간이 많이 걸릴 것입니다.
이것을 최적화하는 가장 좋은 방법은 무엇입니까?
이 방법을 사용하여 각 주에서 최상위 모음 만 인쇄 할 수 있습니까? –
'Counter'는'most_common (n)'메소드를 가지고 있습니다. {state : count.most_common (3) for states.content.items()}의 각 주에서 상위 3 개 – jonrsharpe
감사합니다. @ johnrsharpe 지금까지이 작업을 수행했습니다. count = Counter (코스) print 카운트하지만 그 애플 리케이션을 인쇄하고 동결하려고 할 때 잠겨 최대 –