Python:使用datetime键从字典中提取1天的值
我有一个字典,日期时间是键,数字是值Python:使用datetime键从字典中提取1天的值,python,datetime,dictionary,Python,Datetime,Dictionary,我有一个字典,日期时间是键,数字是值 dict = {'08/07/2015 01:15':'3', '08/07/2015 08:15':'5', '09/07/2015 07:15':'4', '09/07/2015 10:30':'8'} 我想提取每天的值。例如,在2015年7月9日,我希望得到以下结果: result = {'09/07/2015 07:15': '4', '09/07/2015 10:30': '8'} 或 谢谢您的帮助。您需要迭代键,并将键值与所需日期进行比较
dict = {'08/07/2015 01:15':'3', '08/07/2015 08:15':'5',
'09/07/2015 07:15':'4', '09/07/2015 10:30':'8'}
我想提取每天的值。例如,在2015年7月9日,我希望得到以下结果:
result = {'09/07/2015 07:15': '4', '09/07/2015 10:30': '8'}
或
谢谢您的帮助。您需要迭代键,并将键值与所需日期进行比较 例如:
>>> sample = {"08/07/2015 01:15":"3", "08/07/2015 01:15":"5", "09/07/2015 07:15":"4", "09/07/2015 10:30":"8"}
>>> filtered = dict((x,y) for (x,y) in sample.items() if x.startswith('09/07/2015'))
>>> filtered
{'09/07/2015 10:30': '8', '09/07/2015 07:15': '4'}
>>> filtered.values()
['8', '4']
提示:不要将dict用作变量名。python已经在使用它了
以及一个扩展版本:
>>> filtered = {}
>>> for date, value in dict.iteritems():
... if date.startswith("09/07/2015"):
... filtered[date] = value
...
>>> filtered
{'09/07/2015 10:30': '8', '09/07/2015 07:15': '4'}
如果我理解这个问题,不检查你的字典中的所有键是不可能的 dict键是一个无序集,因为它们没有顺序,所以无法在单个操作中获取一系列键 由于您正在将时间散列到密钥中,因此2015年7月9日可能会有任意数量的密钥,因此在不查看所有密钥的情况下,无法检索每个密钥
根据你要完成的任务,你可以考虑一个DICT的DICT,其中DITT是按日期进行的,内部的是按时间的;e、 g
dict = {
"08/07/2015": { "01:15":"3" },
"09/07/2015": { "07:15":"4", "10:30":"8" }
}
或者某种有序的数据类型,如数组,它将花费您的查找时间,但需要更少的空间。可能重复的
>>> filtered = {}
>>> for date, value in dict.iteritems():
... if date.startswith("09/07/2015"):
... filtered[date] = value
...
>>> filtered
{'09/07/2015 10:30': '8', '09/07/2015 07:15': '4'}
dict = {
"08/07/2015": { "01:15":"3" },
"09/07/2015": { "07:15":"4", "10:30":"8" }
}