2016-03-29 21 views
0

Bir sözlük listesi var.Python sözlükler listesine bir sayı dizisi ekleme

[{'skillid': 1, 'QueText': u'xxxx, 'Feedback':u'xxxx} , {'skillid': 1, 'QueTextt': u'xxx, 'Feedback': u'xxx}, {'skillid': .....}] 

Sırasıyla yeni bir anahtar nasıl eklenir?

[{'skillid':1, 'QueText': u'xxx, 'QueNo': 1, 'Feedback': u'xxx}, 
{'skillid':1, 'QueText': u'xxx, 'QueNo': 2, 'Feedback': u'xxx}, 
{ ..............................'QueNo':3, .................}] 
+0

Sözlükler hiçbir siparişin tasarımına uygun değil. Listede sıralama ve dizin var, ancak sözlükler değerleri ayarlama/alma için anahtarları kullanır. – jDo

cevap

1

Bir test yapıyorum ve iyi görünüyor, şu gibi kodlar:

seq=[{'skillid': 1, 'QueText': u'quetext', 'Feedback':u'feedback'} , {'skillid': 1, 'QueText': u'quetext', 'Feedback':u'feedback'},{'skillid': 1, 'QueText': u'quetext', 'Feedback': u'feedback'} ] 
# print seq 
count=1 
for subseq in seq: 
    subseq.setdefault('QueNo',count) 
    count+=1 
    print subseq 

Bir d sözlüğü şu şekilde yazdırılır:

{'Feedback': u'feedback', 'QueNo': 1, 'QueText': u'quetext', 'skillid': 1} 
{'Feedback': u'feedback', 'QueNo': 2, 'QueText': u'quetext', 'skillid': 1} 
{'Feedback': u'feedback', 'QueNo': 3, 'QueText': u'quetext', 'skillid': 1} 
+0

Mükemmel öneri Shonminh. Mükemmel çalıştı. Çok teşekkürler. – FelixPhillip

1

Sen enumerate listenizin ve QueNo anahtar ekleyebilirsiniz::

Gerekli çıkışı (sıralamaya göre anahtar değeri 'QueNo' ve değer dizisi içindedir)

for i, d in enumerate(l, 1): 
    d['QueNo'] = i 
İlgili konular