我有一个代码,它放置其数据并将其声明在字典中。 我目前在我的for循环中有很长的时间,大约200,000个数据需要大约2个小时。 现在我在想如果我有200万的数据还有什么。优化Python中的for循环
这里是我的for循环示例(对不起,变量的命名,这只是我的示例代码):
# Gets the data in database
data_list = self.my_service.get_database_list()
my_dict_list = {}
for item in data_list:
primary_key = item.primarykey
value = item.name + item.address + item.age
my_dict_list[primary_key] = value
这是我的模型/数据库获取代码:
def get_database_list(self):
return self.session.query(
self.mapper.name,
self.mapper.addreess,
self.mapper.age,
)
我的数据库引擎是InnoDB。 有没有办法让它稍微优化或循环数据更快。 感谢您的分享。
我猜了'my_service.get_database_list()'不返回一个迭代器? –
@limelights,嗨,你是什么意思的迭代器? – Bazinga
我认为他的意思是一个生成器 - 一个对象,可以迭代每个项目的项目,而不必先建立一个巨大的内存列表。那是你最可能的罪魁祸首; 'for'循环看起来像你可以做到的那样紧凑。 –