我想以我对python时间复杂度和可用于加快速度的数据结构进行研究的事实作为开头。
但是,我正在努力思考一种有效的方法来针对250万行文件检查一组值。到目前为止,我考虑的一种解决方案是使用列表推导。
当前,我正在尝试通过以下方式处理该问题:
def getTotalVolumeByCounty(fileName, counties):
values = []
with open(fileName) as csvFile:
csvReader = csv.reader(csvFile)
headers = next(csvReader)
for row in csvReader:
i = 0
while i < len(counties):
if row[9] == counties[i]:
values[i] += int(row[22])
break
return values
如果愿意的话,采用“传统”方式。将一个列表中的每个值与另一列表中的当前值进行比较。显然,这在时间复杂度方面是不利的。
如前所述,我已经考虑过使用列表推导-但是这些实际上如何节省时间?列表理解是当前尝试的唯一替代方法吗?