Perbandingan Prestasi Penggabungan Rentetan: = vs. ''.join()
Semasa menangani topik ini dalam jawapan sebelumnya, saya menjadi ingin tahu tentang perbezaan prestasi antara operator = dan kaedah ''.join() untuk penyambungan rentetan. Oleh itu, saya memutuskan untuk melakukan perbandingan langsung.
Menurut hasil Penggabungan Rentetan Cekap, ''.join() jauh lebih baik daripada operator dari segi kelajuan. Percanggahan ini boleh dikaitkan dengan sifat rentetan yang tidak berubah dalam Python. Memandangkan rentetan tidak boleh diubah suai di tempatnya, sebarang percubaan untuk menggabungkannya memerlukan penciptaan rentetan baharu, yang melibatkan overhed pengiraan yang ketara.
Coretan kod berikut menggambarkan perbezaan prestasi:
<code class="python">def method1(): out_str = '' for num in xrange(loop_count): out_str += 'num' return out_str def method4(): str_list = [] for num in xrange(loop_count): str_list.append('num') return ''.join(str_list)</code>
Walaupun kaedah ini tidak setara sepenuhnya (kaedah 4 dilampirkan pada senarai sebelum mencantumkan elemen), kaedah ini memberikan gambaran yang munasabah tepat bagi perbezaan prestasi.
Membayangkan keputusan, menjadi jelas bahawa penyambungan rentetan adalah jauh lebih cepat daripada penyatuan:
[Imej test_20k.gif]
Atas ialah kandungan terperinci Penggabungan Rentetan Python: Bilakah \'\'.join() Lebih cepat daripada =?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!