Liste anlayışlarıyla oynuyorum ve bu küçük parçaya başka bir sitede rastladım:
return ''.join([`num` for num in xrange(loop_count)])
Bunu fark etmeden önce (yazarak) işlevi kopyalamak için birkaç dakika harcadım. `num`
Bitin onu kırdığını .
Bu karakterlerin arasına bir ifade eklemek ne işe yarar? Gördüğüm kadarıyla str (num) ile eşdeğerdir. Ama zamanını belirlediğimde:
return ''.join([str(num) for num in xrange(10000000)])
4.09s alırken:
return ''.join([`num` for num in xrange(10000000)])
2.43 saniye sürer.
Her ikisi de aynı sonuçları verir, ancak biri çok daha yavaştır. Burada neler oluyor?
DÜZENLEME: Garip bir şekilde ... repr()
biraz daha yavaş sonuçlar veriyor `num`
. 2.99s vs 2.43s. Python 2.6'yı kullanma (henüz 3.0'ı denemedim).