2016-09-20 3 views
-1

Tut mir leid, wenn das irgendwo da draußen ist, aber ich konnte einfach keine Lösung für das finden, wonach ich suchte. Ich möchte den Wert meines Wörterbuchs ohne die Zitate zurückgeben und kann nicht herausfinden, was ich falsch mache.Gibt es eine Möglichkeit, einen Wörterbuchwert ohne Angebote zurückzugeben?

def read_wiktionary(): 
answer = dict() 
f = open('wiktionary.txt', 'r') 
for line in f: 
     word,value = line.rstrip('\n').split(' ') 
     answer[word] = (value) 
return answer 
+1

Können Sie ein Beispiel für Ihre erwartete Ausgabe geben? Es ist schwer zu sagen, was du meinst, wenn du ohne Zitate sagst. –

+0

Wenn Sie einen Zeichenfolgenwert drucken, wird normalerweise mit Anführungszeichen gedruckt, um anzugeben, dass es sich um eine Zeichenfolge handelt. Der tatsächliche Wert der Zeichenfolge enthält diese Anführungszeichen nicht. Kannst du erklären, was du für "Antwort" brauchst und was nicht funktioniert? – Karin

+0

>>> freq = read_wiktionary() >>> freq [ 'die'] 56.271.872,0 >>> freq [ 'meine'] 3.277.699,0 –

Antwort

1

Das Angebot wird nur als Trennzeichen zwischen verschiedenen Schlüsseln und Werten verwenden, damit es nicht beseitigen zu Zitat nicht Ihre Werte im Wörterbuch wirkt sich sein kann.

0

Wenn Sie eine Datei lesen, wird alles als String gelesen. Um einen Gleitkommawert zu erhalten, müssen Sie ihn in eine Gleitkommazahl umwandeln.

def read_wiktionary(): 
    answer = dict() 
    f = open('wiktionary.txt', 'r') 
    for line in f: 
     word, value = line.rstrip('\n').split(' ') 
     answer[word] = float(value) 
    return answer 

Als Nebenwirkung, ist es im Allgemeinen gute Praxis with zu verwenden, um eine Datei zu öffnen, so dass es automatisch geschlossen wird, wenn es um den Block verläßt. Von the docs:

ist es gute Praxis die mit Schlüsselwort zu verwenden, wenn sie mit Datei Objekte handelt. Dies hat den Vorteil, dass die Datei nach ihrer Suite ordnungsgemäß geschlossen wird, auch wenn eine Ausnahme auf dem Weg ausgelöst wird.

So würde ich vorschlagen:

def read_wiktionary(): 
    answer = {} 
    with open('wiktionary.txt', 'r') as f: 
     for line in f: 
      word, value = line.rstrip('\n').split(' ') 
      answer[word] = float(value) 
    return answer 
Verwandte Themen