2016-12-09 3 views
0

Ich bin mit Python 3.4.xZählen Wortlänge und Frequenz in einer Textdatei

Ich mag würde Funktion schaffen, die einen String als Eingabe (wo die Zeichenfolge der Name einer Datei ist) und gibt ein Wörterbuch . Das Wörterbuch sollte Schlüssel/Wert-Paare haben, wobei Schlüssel ganze Zahlen sind, die Wortlängen entsprechen, und die Werte sind die Anzahl der Wörter, die in der Datei mit dieser Länge erscheinen. Ich habe wirklich keine Ahnung, wie ich das machen soll und ich würde jede Hilfe bei dieser Sache sehr schätzen. Vielen Dank!

Ich möchte, dass die endgültige Ausgabe etwas wie folgt aussehen {3: 5, 4: 2, 5: 1, 8: 1, 10: 1}

+1

Versuchen Sie Ihre Hausaufgaben und sind Versuche, bevor Sie fragen! –

+0

Ist es eine Klassenzuweisung? Wenn ja, gibt es Einschränkungen? – wwii

+0

Es gibt keine Einschränkungen – Jfpec

Antwort

1

Hier Ein schnelles Beispiel, das du ausprobieren kannst. Das Beispiel geht davon aus, dass die gelesene Datei in jeder Zeile ein neues Wort hat

def create_dict(name): 
    ret = {} 
    if name: 
    with open(name,'r') as fd: 
     for line in fd.readlines(): 
      line = line.replace("\n","") 
      if ret.get(len(line),None) == None: 
       ret[len(line)] = 1 
      else: 
       ret[len(line)] += 1 
    return ret 

kehrt {8: 1, 2: 1, 4: 2, 5: 2, 6: 1} für folgende inout Dateidaten

hello 
world 
from 
python 
to 
test 
scenario 
+0

Vielen Dank, das hilft sehr! – Jfpec

+0

können Sie die Antwort akzeptieren, wenn es funktioniert – Uday

0

Wenn Sie durch the Tutorial lesen und die Beispiele üben, Sie wird anfangen, Ideen zu bekommen. Sie werden iterate über die Worte darin open a file müssen, determine the length, wenn die Länge bereits in den dictionary ist dann 1, um es hinzuzufügen, wenn nicht sogar ein neues Schlüssel machen: Wertepaar mit dem Wert = 1

+0

Vielen Dank! – Jfpec

Verwandte Themen