舍得在处理SuperMemo的course.xml文件时,需要将每个元素的ID和keywords成对取出,存入字典。但由于Python的字典是无序的,因此,当储存工作完成后,需要对字典进行排序。

原始的字典像下面这个样子:

{(‘213’, ‘I’),  (‘262’, ‘they’), (‘206’, ‘it’), (‘220’, ‘or’)}

我们要将它排成:

{(‘206’, ‘it’), (’213′, ‘I’),(‘220’, ‘or’), (‘262’, ‘they’)}

经过试验,最简单的方法是采用OrderedDict来处理,方法如下:

itemDict = {(‘213’, ‘I’), (‘262’, ‘they’), (‘206’, ‘it’), (‘220’, ‘or’)}

from collections import OrderedDict
recordDict = OrderedDict(sorted(itemDict.items(), key=lambda t: int(t[0])))

这个recordDict 便是我们所要的结果。

 

本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
作者:
舍得
首发:
舍得@学习力博客