假设我有一个列表:
cities = ['Berlin','London','Chicago']
我想单独打印该列表中的每个字母。
这些方法中的哪一种更有效或更值得推荐?
这个:
for c in cities:
for l in c:
print l
或者这个:
for l in ''.join(cities):
print l
请您参考如下方法:
“什么会更有效率”通常取决于操作系统和其他因素。但是,您可以做一个非常简单的基准测试:
cities = ['Berlin','London','Chicago']
import time
start = time.time()
for x in range(100000):
for c in cities:
for l in c:
pass
end = time.time()
print "method 1: " + str(end-start)
start = time.time()
for x in range(100000):
for l in ''.join(cities):
pass
end = time.time()
print "method 1: " + str(end-start)
在带有 python 2.7 的 Windows 8 上,我得到:
method 1: 0.218999862671
method 1: 0.141000032425
我相信大多数系统都会有类似的结果。
无论如何,在我看来您正在进入无用的过早优化。您确定您真的需要那种效率水平吗?
