在python中按工作日对字典进行排序

时间:2017-08-02 10:29:37

标签: python-2.7

输入:

{
'E-Learning Integration': {'Monday': 0, 'Tuesday': 0, 'Friday': 6.0, 'Wednesday': 0, 'Thursday': 0, 'Sunday': 8.0, 'Saturday': 7.0}
}

输出:

{
'E-Learning Integration': {'Monday': 0, 'Tuesday': 0,'Wednesday': 0, 'Thursday': 0,'Friday': 6.0, 'Saturday': 7.0, 'Sunday': 8.0}
}

1 个答案:

答案 0 :(得分:1)

import operator as op

dict_ = {'E-Learning Integration': {'Monday': 0, 'Tuesday': 0, 'Friday': 6.0, 'Wednesday': 0, 'Thursday': 0, 'Sunday': 8.0, 'Saturday': 7.0}
}

list_ = dict_["E-Learning Integration"].items()
mapping = {'Monday':0,'Tuesday':1,'Wednesday':2,'Thursday':3,'Friday':4,'Saturday':5,'Sunday':6}

new_list = zip(list_,[mapping[i[0]] for i in list_])
new_list.sort(key=op.itemgetter(1))

上面的代码给出了输出:

[('Monday', 0),
('Tuesday', 0),
('Wednesday', 0),
('Thursday', 0),
('Friday', 6.0),
('Saturday', 7.0),
('Sunday', 8.0)]

现在将其转换回字典。