2013-10-29 2 views
-2

그래서 문장마다 문자를 반복하고 다른 문자를 합쳐서 몇 번이나 반복해야합니까? 나는 첫 번째 비트를하는 방법을 생각할 수 없다. (내가 충분히 합쳐서 내가 충분히 좋은 생각을 가지고 있고 솔로로 할 수 있는지 알고 싶다.) 파이썬에서 최고 수준의 아니에요하지만 나는 그것이문장의 모든 문자를 파이썬으로 반복하십시오.

for letter in sentence 

수 있습니다 생각하지만 난 어떻게 각 문자를 통해 루프 모르겠어요.

가 이
>>> counts = collections.Counter(sentence) 
>>> counts['d'] 
4 
+0

각 단어를 의미합니까? 당신은''a ''를 반복 할 수 없다. (할 수는 있지만, 무의미하다.) – rlms

+0

[항목 빈도 계산]의 가능한 복제본 (http://stackoverflow.com/questions/893417/item-frequency-count-in-python) –

+0

@JamesDonnelly - 문장에있는 글자에 맞습니다. '는 각 문자를 반복하는 올바른 방법입니다 (아래에서 언급 한 Counter 클래스를 사용하면 수행하려는 것에 대한 직접적인 해결책입니다) – Michael0x2a

답변

5

당신은 collections (파이썬 2.7 이상)에서 Counter 클래스를 사용할 수 있습니다 두 줄의 일을하는 것. 그러나 나는 문장을 반복하는 방법에 대해 질문에 답변 할 것입니다.

진실은, 당신 말이 맞습니다. 그것은 정확하게 문장을 반복하는 방법입니다. 아래의 데모보기 :

>>> sentence = "This is a sentence!" 
>>> for letter in sentence: 
...  print letter 
... 
T 
h 
i 
s 

i 
s 

a 

s 
e 
n 
t 
e 
n 
c 
e 
! 
>>> 
+2

깔끔한 용액; 그에게 스포일러 태그를 추가하십시오, 그는 그 자신의 것을 시도하고 싶습니다 (: – Faultier

2

음, 다른 솔루션은 당신에게 깨끗한 방법을 알려줍니다 다음과 같이

>>> import collections 
>>> sentence = "asdadasdsd" 
>>> collections.Counter(sentence) 
Counter({'d': 4, 'a': 3, 's': 3}) 

당신은 수를 얻을 수 있습니다 :

관련 문제