2016-03-30 26 views
0

Ben şu gerçekten ne istediğini emin değilim ama temelde bu yapıyı istediğiniz ile dicts bir listesini,i var şu anda iç içe dicts

-document 
    -pattern_key 
    -start_position 
    -end_position 

nasıl yapılır bu

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

ama startPos'u, endPos'u desen anahtarı

altında yerleştirmek istiyorum. Ayrıca, aynı belgenin altında pattern_key, startPos, endPos'un yeni bir girdisini eklemek için bunu nasıl güncelleyebilirim? Bununla

cevap

0

anahtarların güncellemeler değerleri

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

print dict 
>>> should have new values 

için yeni entrys ekleyebilirsiniz:

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

hmm Yeni değerler ile değiştirmek istemiyorum, varolan anahtara yeni giriş eklemek istiyorum. –

+0

ahhhhh anlıyorum, bekle sana yardım edebilirim – Milor123

0

tam olarak ne istediğini emin değil, ancak bu deneyebilirsiniz:

document = {'pattern_key' : {}} 

Bu, anahtarın bir dize (pattern_key) olduğu bir sözlük olan document nesnesini oluşturdu. değer başka bir sözlüktür. Şimdi, sadece değerlerinizi ekleyin (başka bir sözlük olan) sözlüğe değerine yeni girdiler eklemek için:

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

Daha sonra, document['pattern_key']['start_position'] = 2 ile iki durumda girebilir ve bu 2'ye başlangıç ​​pozisyonunu değiştirir.

Bu yardımcı olur