我有一个字典,其中日期时间为键,数字为值。
dict = {datetime.datetime(2015, 7, 8, 1 ,15, 3):3, datetime.datetime(2015, 7, 8, 8 ,15, 8):4,
datetime.datetime(2015, 7, 9, 7 ,15, 0):4 , datetime.datetime(2015, 7, 9, 10 ,30, 0):8}
我想要这个结果:
result = {datetime.datetime(2015, 7, 9, 07 ,15, 0):4 , datetime.datetime(2015, 7, 9, 10 ,30, 0):8}
或
result = [4, 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'}
答案 0 :(得分:2)
您可以简单地遍历您的密钥并找到匹配项:
def extract(data, day):
return {key: data[key] for key in data if day in key}
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'}
print extract(dict, '09/07/2015')
{'09/07/2015 07:15': '4', '09/07/2015 10:30': '8'}
可以类似地实现第二次输出
def extract(data, day):
return [data[key] for key in data if day in key]
答案 1 :(得分:1)
由于你的键是字符串,只需循环并匹配字符串:
{key: value for key, value in dict.items() if key.startswith('09/07/2015')}
或仅获取值:
[value for key, value in dict.items() if key.startswith('09/07/2015')]
如果您确实拥有datetime.datetime()
objects,则可以将datetime.date()
method的输出与datetime.date
object匹配:
from datetime import date
[value for key, value in dict.items() if key.date() == date(2015, 7, 9)]
答案 2 :(得分:0)
您可以通过多种方式完成此操作,但关键是使用日期。首先使用strptime(https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime)将该字符串转换为日期时间对象,然后通过使用适当的格式转换为strftime,可以获得独特的日子。 最后,您可以使用"在"中搜索您的密钥。使用解析的日子。