我是Python编程新手,我陷入了嵌套字典排序的困境如何按时间顺序对以下字典进行排序?
{2024: {
'Jul': ['Rate', 'Hours', 'Cost']
'Jan': ['Rate', 'Hours', 'Cost'],
'Feb': ['Rate', 'Hours', 'Cost'],
'Mar': ['Rate', 'Hours', 'Cost'],
'Apr': ['Rate', 'Hours', 'Cost'],
'May': ['Rate', 'Hours', 'Cost'],
'Jun': ['Rate', 'Hours', 'Cost']}}
输出应如下所示:
{2024: {
'Jan': ['Rate', 'Hours', 'Cost'],
'Feb': ['Rate', 'Hours', 'Cost'],
'Mar': ['Rate', 'Hours', 'Cost'],
'Apr': ['Rate', 'Hours', 'Cost'],
'May': ['Rate', 'Hours', 'Cost'],
'Jun': ['Rate', 'Hours', 'Cost'],
'Jul': ['Rate', 'Hours', 'Cost']}}
通过互联网搜索我只能找到一层嵌套。
您可以使用对象理解:
#!/usr/bin/env python
old = {2024: {
'Jul': ['Rate', 'Hours', 'Cost'],
'Jan': ['Rate', 'Hours', 'Cost'],
'Feb': ['Rate', 'Hours', 'Cost'],
'Mar': ['Rate', 'Hours', 'Cost'],
'Apr': ['Rate', 'Hours', 'Cost'],
'May': ['Rate', 'Hours', 'Cost'],
'Jun': ['Rate', 'Hours', 'Cost']}}
year = 2024
ordered_months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul']
new = {year: {month: old[year][month] for month in ordered_months}}
print(new)