2016-03-29 15 views
0

辞書のリストがあります。Python辞書のリストに数値シーケンスを追加する

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

値を順番に挿入するにはどうすればよいですか?

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

辞書は設計通りにはありません。リストには順序とインデックスがありますが、辞書は値を設定/取得するためにキーを使用します。 – jDo

答えて

1

私はテストを行い、このようなコードが良いようです:

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 

d辞書は次のように印刷されます:

{'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

優秀な提案湘南。それは完璧に働いた。どうもありがとう。 – FelixPhillip

1

あなたはenumerateリストとはQueNoキーを追加することができます:

は が

必要な出力は(シーケンスに従ってキー値は 'QueNo' で、値が順番にある)

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