我正在计算一个路线的总距离(对于旅行商问题),我很好奇哪个更好:总结一个整数列表,或者使用total + = value(不知道是什么这个技术术语是......我认为的连接?)。换句话说:出于好奇:哪个更适合创建总和?总和(列表)与积累
totalDistance = [distance(location, location+1) for location in route]
return sum(totalDistance)
或
totalDistance = 0
for location in route:
totalDistance += distance(location, location+1)
return totalDistance
距离()返回一个int
值和位置的数量为不同的路线约0至100之间变化。 对任何一种方法的想法(或完全不同的方式)表示赞赏!
编辑:
积累,而不是连锁。
我认为你的意思是*积累*而不是*连接*。你的意思是*更好*,更快? – Thibaut 2014-11-24 01:47:14
这就是我正在寻找的词!更好的是,我想我的意思是更快,更清洁,记忆力更强。 – josibake 2014-11-24 01:49:33
“更快”可以分析,但我的钱在列表comp。 “清洁”是主观的 - 人们喜欢以不同的方式看待事物。 “内存密集型”绝对是将发生器表达式相加的例子,'total_dist = sum(distance(location,location + 1)for location in route)' – 2014-11-24 01:53:26