华南的云服务器部署的机器,访问不了华北的数据库。
我知道这可以用FOR来完成,但我想知道是否还有其他方法
还有另外一种方法。你也可以用map和itemgetter来完成它:
>>> from operator import itemgetter
>>> map(itemgetter(1), elements)
尽管如此,它仍然在内部执行循环,并且比列表理解稍慢。
setup = 'elements = [(1,1,1) for _ in range(100000)];from operator import itemgetter'
method1 = '[x[1] for x in elements]'
method2 = 'map(itemgetter(1), elements)'
import timeit
t = timeit.Timer(method1, setup)
print('Method 1: ' + str(t.timeit(100)))
t = timeit.Timer(method2, setup)
print('Method 2: ' + str(t.timeit(100)))
结果:
方法1:1.25699996948
方法2:1.46600008011
如果你需要遍历一个列表然后使用一个for
很好。