Wie konvertieren von Counter-Objekt dict?

Daten Rahmen:

pair = collections.defaultdict(collections.Counter)

z.B.

pair = {'doc1':  {'word1':4, 'word2':3}, 
        'doc2':  {'word1':2, 'word3':4},
        'doc3':  {'word2':2, 'word4':1},
         ...}

Ich die Daten behalten möchten, Rahmen Sie, aber alter der Typ dieses Teil {'word1':4, 'word2':3} {'word1':2, 'word3':4}``... Es ist jetzt ein Counter und ich brauche eine dict.

Habe ich versucht, dieses um die Daten aus pair, aber ich weiß nicht, wie man erstellen Sie eine dict für jeden doc:

new_pair = collections.defaultdict(collections.Counter)
for doc, tab in testing.form.items():
    for word, freq in tab.items():
        new_pair[doc][word] = freq 

Ich will nicht zu ändern Sie die Ausgabe. Ich brauche nur, dass in jeder doc, der Datentyp ist dict, nicht Counter.

  • Post die aktuellen traceback und mehr Kontext.
  • WER sagt den das 'erste argument muss aufrufbar sein' ?
  • was willst du? Können Sie uns die Ausgabe, die Sie wollen?
  • collections.defaultdict argument
  • es ist die Linie collections.defaultdict(collections.Counter()) warum ist es nicht collections.defaultdict(collections.Counter) was du vor hast?
  • Ja. definitiv meine Schuld. Aber dieser Teil des Codes nicht ändern Sie den Datentyp zu dict. Irgendwelche Vorschläge?

InformationsquelleAutor juju | 2012-06-17
Schreibe einen Kommentar