Ich habe dieses Programmierproblem beim Betrachten einer Stellenausschreibung auf SO gefunden. Ich fand es sehr interessant und als Anfänger Python Programmierer habe ich versucht, es anzugehen. Ich denke jedoch, dass meine Lösung ziemlich ... unordentlich ist ... kann jemand irgendwelche Vorschläge machen, um es zu optimieren oder es sauberer zu machen? Ich weiß, es ist ziemlich trivial, aber ich hatte Spaß beim Schreiben. Hinweis: Python 2.6Das häufigste Zeichen in einer Zeichenfolge finden
Das Problem:
schreiben Pseudo-Code (oder tatsächlichen Code) für eine Funktion, die in einem String nimmt und die Buchstaben, die in dieser Zeichenfolge erscheint.
Mein Versuch:
import string
def find_max_letter_count(word):
alphabet = string.ascii_lowercase
dictionary = {}
for letters in alphabet:
dictionary[letters] = 0
for letters in word:
dictionary[letters] += 1
dictionary = sorted(dictionary.items(),
reverse=True,
key=lambda x: x[1])
for position in range(0, 26):
print dictionary[position]
if position != len(dictionary) - 1:
if dictionary[position + 1][1] < dictionary[position][1]:
break
find_max_letter_count("helloworld")
Ausgang:
>>>
('l', 3)
Aktualisiert Beispiel:
find_max_letter_count("balloon")
>>>
('l', 2)
('o', 2)
Hintergrund Hinweis: Sie sollten [PEP 8] (http://www.python.org/dev/peps/pep-0008/) lesen, die die empfohlene Python Codierung Stil dokumentiert. Methoden sollten in snake_case anstatt in mixedCase sein. –
möglich duplicate of [Wie finde ich die häufigsten Elemente einer Liste?] (Http://stackoverflow.com/questions/3594514/how-to-find-most-common-elements-of-a-list) – kennytm
möglich duplizieren von [Pythons häufigstem Element in einer Liste] (http://stackoverflow.com/questions/1518522/python-fast-common-element-in-a-list) – nawfal