Show Karena Python Saya bisa menulis seperti itu:
atau seperti ini:
Saat menulis pertanyaan ini, saya menemukan artikel yang bagus berbicara tentang topik tersebut. http://www.skymind.com/~ocrow/python_string/ Tapi itu di Python 2.x., jadi pertanyaannya adalah apakah ada perubahan di Python 3? Jawaban: Cara terbaik menambahkan string ke variabel string adalah dengan menggunakan
Namun, mereka yang merekomendasikan memiliki daftar dan menambahkannya kemudian bergabung dengan daftar itu, melakukannya karena menambahkan string ke daftar mungkin sangat cepat dibandingkan dengan memperpanjang string. Dan ini bisa benar, dalam beberapa kasus. Di sini, misalnya, adalah satu juta penambahan string satu karakter, pertama ke string, lalu ke daftar:
OK, ternyata bahkan ketika string yang dihasilkan adalah sejuta karakter, menambahkan masih lebih cepat. Sekarang mari kita coba dengan menambahkan string panjang karakter seribu seratus ribu kali:
Oleh karena itu, string akhir memiliki panjang sekitar 100MB. Itu sangat lambat, menambahkan daftar jauh lebih cepat. Bahwa waktu itu tidak termasuk final
Oups Ternyata bahkan dalam kasus ini, tambahkan / gabung lebih lambat. Jadi dari mana datangnya rekomendasi ini? Python 2?
Nah, tambahkan / gabungkan sedikit lebih cepat di sana jika Anda menggunakan string yang sangat panjang (yang biasanya tidak Anda miliki, apa yang akan Anda miliki string yang 100 MB dalam memori?) Tetapi penentu nyata adalah Python 2.3. Di mana saya bahkan tidak akan menunjukkan waktu kepada Anda, karena itu sangat lambat sehingga belum selesai. Tes-tes ini tiba-tiba memakan waktu beberapa menit . Kecuali untuk append / join, yang sama cepatnya dengan Python berikutnya. Ya. Rangkaian string sangat lambat di Python kembali di zaman batu. Tetapi pada 2.4 itu tidak lagi (atau setidaknya Python 2.4.7), jadi rekomendasi untuk menggunakan append / join menjadi usang pada 2008, ketika Python 2.3 berhenti diperbarui, dan Anda seharusnya berhenti menggunakannya. :-) (Pembaruan: Ternyata ketika saya melakukan pengujian lebih hati-hati yang menggunakan Namun, ini adalah CPython. Implementasi lain mungkin memiliki masalah lain. Dan ini hanyalah alasan lain mengapa optimasi prematur adalah akar dari semua kejahatan. Jangan gunakan teknik yang seharusnya "lebih cepat" kecuali Anda mengukurnya terlebih dahulu. Oleh karena itu versi "terbaik" untuk melakukan penggabungan string adalah dengan menggunakan + atau + = . Dan jika itu ternyata lambat bagi Anda, yang sangat tidak mungkin, maka lakukan sesuatu yang lain. Jadi mengapa saya menggunakan banyak append / join di kode saya? Karena terkadang itu sebenarnya lebih jelas. Terutama ketika apa pun yang Anda harus menyatukan bersama harus dipisahkan oleh spasi atau koma atau baris baru. Jika Anda menggabungkan banyak nilai, maka keduanya juga tidak. Menambahkan daftar itu mahal. Anda dapat menggunakan StringIO untuk itu. Terutama jika Anda membangunnya di banyak operasi.
Jika Anda sudah memiliki daftar lengkap yang dikembalikan kepada Anda dari beberapa operasi lain, maka cukup gunakan Dari python FAQ: Apa cara paling efisien untuk menggabungkan banyak string bersama?
Sunting: Saya bodoh dan hasilnya disisipkan mundur, membuatnya tampak seperti menambahkan daftar lebih cepat daripada cStringIO. Saya juga telah menambahkan tes untuk concat bytearray / str, serta tes putaran kedua menggunakan daftar yang lebih besar dengan string yang lebih besar. (python 2.7.3) contoh uji ipython untuk daftar string yang besar
Dalam Python> = 3.6, f-string baru adalah cara yang efisien untuk menggabungkan string.
Metode yang disarankan masih menggunakan append dan gabung. Jika string yang Anda gabungkan adalah literal, gunakan string literal string
Ini berguna jika Anda ingin mengomentari sebagian string (seperti di atas) atau jika Anda ingin menggunakan string mentah atau tiga kutipan untuk bagian literal tetapi tidak semua. Karena ini terjadi pada lapisan sintaks menggunakan operator concatenation nol. Anda menulis fungsi ini
Maka Anda dapat menelepon ke mana saja Anda inginkan
Menggunakan penggabungan string di tempat dengan '+' adalah metode penggabungan THE WORST dalam hal stabilitas dan implementasi lintas karena tidak mendukung semua nilai. Standar PEP8 tidak mendukung hal ini dan mendorong penggunaan format (), join () dan append () untuk penggunaan jangka panjang. Seperti dikutip dari bagian "Rekomendasi Pemrograman" yang ditautkan:
Seperti @jdi menyebutkan dokumentasi Python menyarankan untuk menggunakan
Saya akan menunjukkan contoh kode dunia nyata yang secara naif mengandalkan
Kode ini dapat dijalankan selama berjam-jam karena kompleksitas waktu kuadratik. Di bawah ini adalah alternatif dengan struktur data yang disarankan:
Dan tolok ukur mikro:
Anda dapat melakukannya dengan berbagai cara.
Saya membuat ringkasan kecil ini melalui artikel-artikel berikut.
kasing saya sedikit berbeda. Saya harus membuat kueri tempat lebih dari 20 bidang dinamis. Saya mengikuti pendekatan ini menggunakan metode format
ini relatif lebih mudah bagi saya daripada menggunakan + atau cara lain STR pada Python untuk apa?Dalam Python, integer dapat diubah menjadi string menggunakan fungsi str() bawaan. Fungsi str() mengambil tipe data Python apa pun dan mengubahnya menjadi string.
Apa itu F di Python?Formatted string literals (juga disebut f-string) memungkinkan Anda menyertakan nilai ekspresi Python di dalam string dengan mengawali string dengan f atau F dan menulis ekspresi sebagai {expression} .
Apa itu Len di Python?2. Len() Kita masuk dalam pembahasan yang pertama yaitu fungsi Len(). Fungsi len() digunakan untuk mengidentifikasi dan mengetahui seberapa panjang jumlah item atau anggota pada suatu objek. Penerapan fungsi len() ini bisa dipraktekkan pada berbagai jenis data seperti data sequence dan data collection.
Karakter apa yang digunakan Python sebagai pemisah perintah?Pada python, titik koma berfungsi sebagai separator atau pemisah, bukan untuk mengakhiri sebuah perintah. Misalkan kita ingin membuat dua perintah dalam satu baris, maka di sinilah kita membutuhkan titik koma.
|