【发布时间】:2018-04-30 11:04:35
【问题描述】:
你能给我建议吗,如何在 Python 中加快速度
我当前的问题 - 代码有效 - 但会占用所有内存 - 因为我包含 2 个 for 循环(
所以 - 我有 2 个字典列表,需要根据以下逻辑对其进行过滤。
count = 0
size = 0
latest = dateutil.parser.parse('1900-01-01T00:00:00.000')
for obj_seg in objects_segments[1]:
exclude = False
for obj in objects[1]:
if obj['name'] in obj_seg['name']:
exclude = True
break
if not exclude:
d = dateutil.parser.parse(obj_seg['last_modified'])
if d > latest:
latest = d
size+=obj_seg['bytes']
count+=1
“objects_segments[1]”最多可以包含 30M 个元素,“objects[1]”-最多 100K...
在没有这种丑陋的情况下使用此类数据的更好方法包括 for_loop (
UPD1:更改布尔逻辑并将中断添加到第二个循环。 Tnx @nthall
【问题讨论】:
标签: python python-2.7 filtering