2012-10-15 6 views
0

나는 방법 주파수를 쓰기사전 - 파이썬

에 이야기 해요 (a)는 사전을 반환하는 숫자 위에 각각 고유의 x 값,지도 x에 대한 에있는 x의 출현

이 사전 작업 내 처음과 내가이 문제를 공격 할 방법을 보려면 독서했지만, 내가 그것을 코딩하는 방법을 잘 모르겠어요은 ..

이 내가 믿는 것입니다 .. 1. 두 값으로 사전을 만듭니다. [x : y] 2. 목록을 평가하십시오. 3.1 목록의 값을 사전에 없으면,이 값 X합니다 목록의 값을 사전에인지 1 3.2 확인 y 값이 + 1 4. 복귀

이 인 결과 어떻게이 문제를 해결할 수 있을까요? 3 단계를 어떻게 코딩합니까?

+1

을, 당신은'collections.Counter'를 사용하는 거라고 ... 너무 나쁜이 숙제 ... – nneonneo

+0

은 그것의 사전을 만들 놀랍게도 쉽게 수동으로뿐만 아니라 -'for i in L : if D.has (i) : D [i] ++'; – mikebabcock

+1

그것이 유효한 파이썬 구문 근처에있는 것을 제외하고는. – nneonneo

답변

1

collections.Counter 또는 collections.defaultdict 중 하나를 사용하지 않고 : 실제 생활에서

def freq(a): 
    D = {} 
    for v in a: 
     D[v] = D.get(v, 0) + 1 
    return D 
+0

고맙습니다. 전에 읽지 마세요. 전에 보지 못했습니다. – user1730056

0

당신은 꽤 많이 가지고 있습니다. 값이 사전에 있는지 확인하려면, 단지 in를 사용

d = {1:2, 3:4} 

print 1 in d # ==> True 
print 2 in d # ==> False 

을 그런 다음 값을 설정해야하는 모두가 적절하게 d[x] = y를 사용하여.