Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用datetime键从字典中提取1天的值_Python_Datetime_Dictionary - Fatal编程技术网

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" }
}