Python筛选并从dict列表创建dict

Python筛选并从dict列表创建dict,python,python-3.x,Python,Python 3.x,我有一张单子 [{ 'bytesUsed': 79095, 'servicePlan': '25MB', 'smsUsed': 0, 'source': 'Raw Usage', 'timestamp': '2019-02-28T19:00:00-05:00' }, { 'bytesUsed': 310435, 'servicePlan': '25MB', 'smsUsed': 0, 'source': 'Raw Usage

我有一张单子

[{
    'bytesUsed': 79095,
    'servicePlan': '25MB',
    'smsUsed': 0,
    'source': 'Raw Usage',
    'timestamp': '2019-02-28T19:00:00-05:00'
}, {
    'bytesUsed': 310435,
    'servicePlan': '25MB',
    'smsUsed': 0,
    'source': 'Raw Usage',
    'timestamp': '2019-04-01T19:00:00-05:00'
}, {
    'bytesUsed': 286033,
    'servicePlan': '25MB',
    'smsUsed': 0,
    'source': 'Raw Usage',
    'timestamp': '2019-05-06T19:00:00-05:00'
}]
如果
timestamp
字段不在范围内(2019-02-11T19:00:00-05:00-2019-04-10T19:00:00-05:00),我想过滤掉dict并创建键:值映射

{'2019-02-28T19:00:00-05:00' : 79095, '2019-04-01T19:00:00-05:00' : 310435} 
做这件事的有效方法是什么


目前,我正在为列表中的每个dict上的&if做这件事,这很费时。

我猜测了一下你们想得到什么。不幸的是,您的预期输出不清楚

我一直是模块的粉丝

从dateutil.parser导入解析
dt1=解析(“2019-02-11T19:00:00-05:00”)
dt2=解析(“2019-04-10T19:00:00-05:00”)
newdl=[]
对于dic列表中的dic:
dt=解析(dic[“时间戳])

如果dt1我猜测你想要得到什么。不幸的是,您的预期输出不清楚

我一直是模块的粉丝

从dateutil.parser导入解析
dt1=解析(“2019-02-11T19:00:00-05:00”)
dt2=解析(“2019-04-10T19:00:00-05:00”)
newdl=[]
对于dic列表中的dic:
dt=解析(dic[“时间戳])
如果dt1试试这个

从dateutil.parser导入解析
开始解析(“2019-02-11T19:00:00-05:00”)
end_dt=parse(“2019-04-10T19:00:00-05:00”)
arr=[
{
“bytesUsed”:79095,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-02-28819:00:00-05:00”
},
{
“bytesUsed”:310435,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-04-01T19:00:00-05:00”
},
{
“bytesUsed”:286033,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-05-06T19:00:00-05:00”
}
]
result={i['timestamp']:i['bytesUsed']表示arr中的i,如果start_dt尝试此操作

从dateutil.parser导入解析
开始解析(“2019-02-11T19:00:00-05:00”)
end_dt=parse(“2019-04-10T19:00:00-05:00”)
arr=[
{
“bytesUsed”:79095,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-02-28819:00:00-05:00”
},
{
“bytesUsed”:310435,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-04-01T19:00:00-05:00”
},
{
“bytesUsed”:286033,
“服务计划”:“25MB”,
“smsUsed”:0,
'来源':'原始用法',
“时间戳”:“2019-05-06T19:00:00-05:00”
}
]

result={i['timestamp']:i['bytesUsed']for i in arr if start_dt您可以发布您已经尝试过的代码吗?您的输出不是字典。如果您将其称为键-值映射,其中哪些是键和值?我建议将您的字典列表传递给
pd.DataFrame()
constructor,然后从那里进行筛选。您的预期输出令人困惑。不清楚您在寻找什么。抱歉,更正了预期输出。您可以发布您已经尝试过的代码吗?您的输出不是字典。如果您将其称为键-值映射,其中哪些是键和值?我建议传递您的字典列表s到
pd.DataFrame()
构造函数,然后从那里进行筛选。您的预期输出令人困惑。不清楚您在寻找什么。抱歉,更正了预期输出。
[{'2019-02-28T19:00:00-05:00': 79095}, {'2019-04-01T19:00:00-05:00': 310435}]