Я изучал онлайн для простого способа создания упорядоченного словаря и приземлился на OrderedDict и его методе обновления, я успешно реализовал этот раз, но теперь код не стремится сортировать по добавлены термины, например, элементы размещаемые являются:Упорядоченный словарь не сортируется
Doc1: Alpha, zebra, top
Doc2: Andres, tell, exta
Output: Alpha, top, zebra, Andres, exta, tell
My goal is to have Alpha, Andres......, top, zebra
Это код:
finalindex= collections.OrderedDict()
ctr=0
while ctr < docCtr:
filename = 'dictemp%d.csv' % (ctr,)
ctr+=1
dicTempList = io.openTempDic(filename)
print filename
for key in dicTempList:
if key in finalindex:
print key
for k, v in finalindex.items():
newvalue = v + "," + dicTempList.get(key)
finalindex.update([(key, newvalue)])
else:
finalindex.update([(key, dicTempList.get(key))])
io.saveTempDic(filename,finalindex)
Может кто-то пожалуйста, помогите мне?
'OrderedDict' не является«отсортированный»Словаре , Он возвращает ключи в порядке ввода, а не в лексикографическом порядке. Вам нужно что-то вроде [этого рецепта] (http://code.activestate.com/recipes/576998-sorted-dictionary/). – georg
спасибо за быстрый ответ – KSM
Вы можете отсортировать с помощью заказанного dict, см. Мой ответ. –