Dalam Python, string adalah urutan karakter, yang secara efektif disimpan dalam memori sebagai objek. Setiap objek dapat diidentifikasi menggunakan metode id[]
, seperti yang dapat Anda lihat di bawah. Python mencoba menggunakan kembali objek dalam memori yang memiliki nilai yang sama, yang juga membuat pembandingan objek menjadi sangat cepat di Python
$ python
Python 3.9.0 [v3.9.0:9cf6752276, Oct 5 2020, 11:29:23]
[Clang 6.0 [clang-600.0.57]] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = "abc"
>>> b = "abc"
>>> c = "def"
>>> print [id[a], id[b], id[c]]
[139949123041320, 139949123041320, 139949122390576]
>>> quit[]
Untuk membandingkan string, Python menawarkan beberapa operator berbeda untuk melakukannya. Pertama, kami akan menjelaskannya secara lebih rinci di bawah ini. Kedua, kita akan membahas modul string
dan
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
0, yang berisi metode untuk menangani kecocokan yang tidak peka huruf besar kecil dan tidak tepat. Ketiga, untuk menangani string multi-baris, modul difflib cukup berguna. Sejumlah contoh akan membantu Anda memahami cara menggunakannyaBandingkan String dengan The == dan. = Operator
Sebagai operator perbandingan dasar, Anda ingin menggunakan
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
1 dan $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
2. Mereka bekerja dengan cara yang persis sama dengan nilai integer dan float. Operator $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
1 mengembalikan $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
4 jika ada pencocokan persis, jika tidak $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
5 akan dikembalikan. Sebaliknya, operator $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
2 mengembalikan $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
4 jika tidak ada kecocokan dan mengembalikan $ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
5. Listing 1 menunjukkan hal iniDalam loop
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
_9, string yang berisi nama kota Swiss "Lausanne" dibandingkan dengan entri dari daftar tempat lain, dan hasil perbandingan dicetak di stdoutDaftar 1
Menjalankan skrip Python dari atas hasilnya adalah sebagai berikut
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
_$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
1 dan >>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
1 Operator
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
>>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
Python memiliki dua operator perbandingan
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
_1 dan >>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
1. Pada pandangan pertama mereka tampak sama, tetapi sebenarnya tidak1 membandingkan dua variabel berdasarkan nilai yang mereka wakili. Sebaliknya, operator$ python3 comparing-strings.py comparing Berlin with Lausanne: False comparing Paris with Lausanne: False comparing Lausanne with Lausanne: True
_1 membandingkan dua variabel berdasarkan ID objek di memori>>> a = 'hello' >>> b = 'hello' >>> c = 'world' >>> a is b True >>> a is c False >>> id[a] 140666888153840 >>> id[b] 140666888153840 >>>
John [Doe] dan John [Moe] keduanya disebut John. Jika kita dapat mereduksinya menjadi hanya nama mereka, nilainya akan sama, tetapi masih dua orang yang berbeda secara kualitatif
Contoh selanjutnya menunjukkan bahwa untuk tiga variabel dengan nilai string. Kedua variabel
>>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
6 dan >>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
7 memiliki nilai yang sama, dan Python merujuk ke objek yang sama untuk meminimalkan penggunaan memoriIni dilakukan untuk tipe dan string sederhana secara default, tetapi tidak untuk objek lain
>>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
Segera setelah nilainya berubah, Python akan mengembalikan objek dan menetapkan variabel. Dalam cuplikan kode berikutnya
>>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
_7 mendapatkan nilai 2, dan selanjutnya >>> a = 'hello'
>>> b = 'hello'
>>> c = 'world'
>>> a is b
True
>>> a is c
False
>>> id[a]
140666888153840
>>> id[b]
140666888153840
>>>
7 dan >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
0 merujuk ke objek yang sama>>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
Lebih Banyak Operator Perbandingan
Untuk perbandingan mengenai urutan leksikografis, Anda dapat menggunakan operator perbandingan
>>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
1, >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
2, >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
3, dan >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
4. Perbandingan itu sendiri dilakukan karakter demi karakter. Urutannya tergantung pada urutan karakter dalam alfabet. Urutan ini bergantung pada tabel karakter yang digunakan pada mesin Anda saat mengeksekusi kode PythonIngatlah bahwa urutan peka huruf besar-kecil. Sebagai contoh untuk abjad Latin, "Bus" muncul sebelum "bus". Daftar 2 menunjukkan bagaimana operator pembanding ini bekerja dalam praktiknya
Daftar 2
Menjalankan skrip Python dari atas hasilnya adalah sebagai berikut
$ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
Perbandingan String Case-Insensitive
Contoh sebelumnya berfokus pada pencocokan tepat antara string. Untuk mengizinkan perbandingan case-insensitive Python menawarkan metode string khusus seperti
>>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
5 dan >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
6. Keduanya tersedia langsung sebagai metode dari objek string yang sesuai>>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
_5 mengubah seluruh string menjadi huruf besar, dan >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
6 masing-masing menjadi huruf kecil. Berdasarkan Daftar 1, daftar berikutnya menunjukkan cara menggunakan metode >>> b = 'world'
>>> id[b]
140666888154416
>>> id[c]
140666888154416
6Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu
Daftar 3
Outputnya adalah sebagai berikut
$ python3 comparing-strings-case-insensitive.py
comparing Berlin with lausANne: False
comparing Paris with lausANne: False
comparing Lausanne with lausANne: True
Bandingkan String Menggunakan Ekspresi Reguler [RegEx]
Ekspresi Reguler - atau singkatnya "regex" - menentukan pola karakter tertentu
Untuk memanfaatkan mekanisme ini di Python, impor modul
$ python3 comparing-strings.py
comparing Berlin with Lausanne: False
comparing Paris with Lausanne: False
comparing Lausanne with Lausanne: True
0 terlebih dahulu dan tentukan pola tertentu, selanjutnya. Sekali lagi, contoh berikut didasarkan pada Listing 1. Pola pencarian cocok dengan "bay", dan dimulai dengan huruf kecil atau huruf besar. Tepatnya, kode Python berikut menemukan semua string di mana pola pencarian terjadi tidak peduli di mana posisi string - di awal, atau di tengah, atau di akhirDaftar 4
Outputnya adalah sebagai berikut, dan mencocokkan "Bayswater", "Table Bay", dan "Bombay" dari daftar tempat
$ python3 comparing-strings-re.py
Bayswater matches the search pattern
Table Bay matches the search pattern
Bombay matches the search pattern
Perbandingan Multi-Baris dan Daftar
Sejauh ini perbandingan kami hanya pada beberapa kata. Menggunakan modul
$ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
1 Python juga menawarkan cara untuk membandingkan string multi-baris, dan seluruh daftar kata. Output dapat dikonfigurasi sesuai dengan berbagai format alat diffContoh berikutnya [Listing 5] membandingkan dua string multi-baris baris demi baris, dan menampilkan penghapusan serta penambahan. Setelah inisialisasi objek
$ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
_2 di baris 12, perbandingan dibuat menggunakan metode $ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
3 di baris 15. Hasilnya dicetak pada keluaran standarMenjalankan skrip membuat output seperti yang terlihat di bawah ini. Baris dengan penghapusan ditandai dengan
$ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
4 tanda sedangkan baris dengan tambahan dimulai dengan tanda $ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
5. Selanjutnya, baris dengan perubahan dimulai dengan tanda tanya. Perubahan ditunjukkan dengan menggunakan tanda $ python3 comparing-strings-order.py
Berlin comes before Lausanne
Paris comes after Lausanne
Lausanne is equal to Lausanne
_6 pada posisi yang sesuai. Garis tanpa indikator tetap sama$ python comparing-strings-difflib.py
About the IIS
- IIS 8.5 has several improvements related
? ^^^^^^
+ It has several improvements related
? ^
- to performance in large-scale scenarios, such
? ^^^^^^
+ to performance in large-scale scenarios.
? ^
- as those used by commercial hosting providers and Microsoft's
- own cloud offerings.
Kesimpulan
Pada artikel ini Anda telah mempelajari berbagai cara untuk membandingkan string dengan Python. Kami harap ikhtisar ini membantu Anda memprogram secara efektif dalam kehidupan pengembang Anda