Saya bermain-main dengan pemahaman daftar dan saya menemukan cuplikan kecil ini di situs lain:
return ''.join([`num` for num in xrange(loop_count)])
Saya menghabiskan beberapa menit mencoba untuk mereplikasi fungsi (dengan mengetik) sebelum menyadari `num`
bit itu merusaknya.
Apa yang dilakukan dengan menyertakan pernyataan dalam karakter tersebut? Dari apa yang saya lihat itu setara dengan str (num). Tetapi ketika saya menghitung waktunya:
return ''.join([str(num) for num in xrange(10000000)])
Dibutuhkan 4,09s sedangkan:
return ''.join([`num` for num in xrange(10000000)])
membutuhkan 2,43s.
Keduanya memberikan hasil yang identik tetapi yang satu jauh lebih lambat. Apa yang terjadi disini?
EDIT: Anehnya ... repr()
memberikan hasil yang sedikit lebih lambat dari `num`
. 2,99s vs 2,43s. Menggunakan Python 2.6 (belum mencoba 3.0).