完成以下任务的最佳/最快方法是什么:我有一个大文件需要更新。我不会把它记在记忆里,而是像这样一行一行地读。你知道吗
with open(self.f, "rb") as f_in:
for line in f_in:
l = line.strip().split(',')
对于每一行,可能有两种不同的更新方案。也就是说,两个包含更新信息的大列表/元组。对于每一行,我必须检查,比如说l[0]
,是否满足列表1中的条件,如果不满足,则检查列表2中的另一个条件。我想知道在这里什么是明智的,因为我可能会遇到性能问题。我的第一个想法是从列表/元组中删除匹配的项,这样列表在运行时会越来越小。你知道吗
要根据一系列值测试成员资格,请使用
set
而不是列表。你知道吗与字典查找一样,集合成员资格测试也是O(1)操作。价格便宜,与电视机的大小无关。你知道吗
如果需要映射值,请使用字典:
这完全取决于您正试图执行的查找类型;使用正确的数据结构可以使许多不同类型的查找非常有效。在一个文件中的每一行的大列表上循环通常是而不是最好的选择。你知道吗
相关问题 更多 >
编程相关推荐