2016-03-30 5 views
0

Ich bin nicht sicher, ob das ist, was ich wirklich will, aber ich möchte diese Struktur im GrundeWie eine Liste von dicts mit verschachtelten dicts machen

-document 
    -pattern_key 
    -start_position 
    -end_position 

jetzt habe ich diese

dictionary[document] = {"pattern_key":key, "startPos":index_start, "endPos": index_end} 

aber ich will startPos, endPos unter Musterschlüssel verschachteln

Auch wie kann ich das aktualisieren, um einen neuen Eintrag von pattern_key, startPos, endPos, unter demselben Dokument hinzuzufügen?

Antwort

0

mit diesem können Sie aktuelle Werte der Schlüssel

for x in dict.keys(): 
    if 'pattern_key' in x: 
      dict[x]= 'new value' 
    if 'endPost'... 
    ..... 

print dict 
>>> should have new values 

für neue Einträge hinzufügen:

old = {} 
old['keyxD'] = [9999] 
new = {} 
new['newnewnew'] = ['supernewvalue'] 
new.update(old) 
print new 
>>>{'newnewnew': ['supernewvalue'], 'keyxD': [9999]} 
+0

hmm ich möchte nicht mit neuen Werten ersetzen, ich möchte einen neuen Eintrag zu bestehenden Schlüssel hinzufügen. –

+0

ahhhhh ich verstehe, warte, dass ich dir helfen kann – Milor123

0

nicht sicher, was Sie genau wollen, aber Sie können versuchen, diese:

document = {'pattern_key' : {}} 

Dies erstellt ein Objekt document, die ein Wörterbuch ist, in dem der Schlüssel eine Zeichenfolge (pattern_key) und der Wert ist ein anderes Wörterbuch. Nun, um neue Einträge auf den Wert des Wörterbuchs (das ist ein anderes Wörterbuch) Sie nur Ihre Werte hinzufügen:

document['pattern_key']['start_position'] = 1 
document['pattern_key']['end_position'] = 10 

Danach können Sie entweder Fall mit document['pattern_key']['start_position'] = 2 eingeben und dies wird die Startposition auf 2 ändern.

Hoffe, das hilft

Verwandte Themen