我有一个字典,其中的键包含时间戳。基本上我想对那个时间戳上的字典进行排序;所以我可以获取与“第一个”时间戳对应的字典值。按键排序字典 - 解压错误
我想:
from __future__ import print_function
from collections import OrderedDict
from datetime import datetime
def _fetch_ts(name):
return datetime.strptime(name[-13:], '%Y%m%d_%H%M')
incoming_dict = {'20170410_1133': 'A', '20170412_1133': 'B'}
print("starting with: {}".format(incoming_dict))
sorted_dict = OrderedDict(sorted(incoming_dict, key=_fetch_ts))
print("gives : {}".format(incoming_dict))
print("should be A or B: {}".format(sorted_dict.values()[0]))
但是,打印
starting with: {'20170410_1133': 'A', '20170412_1133': 'B'}
Traceback (most recent call last):
File "test.py", line 13, in <module>
sorted_dict = OrderedDict(sorted(incoming_dict, key=_fetch_ts))
File "/usr/lib/python2.7/collections.py", line 69, in __init__
self.__update(*args, **kwds)
File "/usr/lib/python2.7/_abcoll.py", line 571, in update
for key, value in other:
ValueError: too many values to unpack
所以我在做什么错在这里?
你那种字典键而不是键值对,。使用'sorted(incoming_dict.items(),...)'。 – vaultah