【发布时间】:2019-12-31 00:11:39
【问题描述】:
listOfdicts = [{'end': 352, 'id': 'T2', 'start': 342, 'text': '3/4/1920', 'type': 'DATE'},
{'end': 687, 'id': 'T3', 'start': 679, 'text': '1/1/1909', 'type': 'DATE'},
{'end': 710, 'id': 'T11', 'start': 702, 'text': '5/1/2000', 'type': 'DATE'}]
如上所示,我有一个字典列表。 (这是一个样本。我的真实数据是~700K)。如果'type':DATE 小于日期1950,我的目标是只保留'text': somedate
我想要的最终输出是日期在1950下的 dics 列表
[{'end': 352, 'id': 'T2', 'start': 342, 'text': '3/4/1920', 'type': 'DATE'}, {'end': 687, 'id': 'T3', 'start': 679, 'text': '1/1/1909', 'type': 'DATE'}]
我试过下面的代码
older_age =[]
for l in listOfdicts:
if l['type'] == 'DATE':
if l['text'] <= 1950:
older_age.append(l)
但这并不完全有效。如何更改我的代码,以便只保留1950 下的日期?
【问题讨论】:
-
请指定是否要保留非日期字段。或者只保留日期
标签: python-3.x string list loops dictionary