Barisan. Gambaran keseluruhan

Rentetan - ialah senarai (atau jujukan) aksara yang terdapat dalam okey tertentu. Seluruh jujukan aksara dianggap sebagai objek tunggal.

Watak ialah apa sahaja yang anda boleh taip pada papan kekunci dengan satu ketukan kekunci (huruf, nombor, garis miring ke belakang atau beberapa aksara lain).

Rentetan boleh mempunyai ruang: "Hello dunia!".

Rentetan kosong ialah rentetan yang mempunyai 0 aksara.

Python menerima sebagai rentetan apa-apa sahaja yang disertakan dalam petikan (" ") atau apostrof (' ').

Dalam Python, rentetan adalah daripada jenis str.
 
Perlu diingat!
Rentetan dalam Python tidak boleh diubah!


Anda boleh menulis nilai baharu pada rentetan menggunakan pernyataan input
s = input()

Anda juga boleh memberikan nilai rentetan kepada pembolehubah, seperti  
s = 'Python'
atau lebih
s = "Python"

Anda boleh menentukan panjang rentetan menggunakan fungsi terbina dalam len()
n = len(s)


Perbandingan rentetan

Rentetan boleh dibandingkan antara satu sama lain seperti nombor. Anda boleh menentukan baris mana yang lebih besar, yang mana lebih sedikit.

Apabila membandingkan rentetan, kod aksara dibandingkan. Terdapat berpuluh-puluh, jika tidak beratus-ratus, pengekodan aksara. Cara paling mudah untuk memahami konsep ini ialah memahami salah satu yang paling mudah, ASCII (baca di sini).   ;

Adalah perlu untuk memahami bahawa dalam pengekodan moden kedua-dua huruf Rusia dan Inggeris disusun dalam susunan abjad, nombor juga berubah daripada yang lebih kecil kepada yang lebih besar. 
Contohnya, dalam jadual kod ASCII, kod untuk huruf Inggeris 'A' - 65, huruf 'a' - 97, digit '0' mempunyai kod 48. Huruf Rusia terletak di bahagian lanjutan jadual kod ASCII (nombor dari 128 hingga 255). Huruf besar didahulukan (iaitu mempunyai kod yang lebih kecil) daripada huruf kecil.

Dalam kebanyakan jadual pengekodan yang digunakan, coraknya adalah sama, huruf kecil lebih lewat daripada huruf besar, nombor lebih awal daripada huruf dan huruf Rusia lebih lewat daripada huruf Inggeris.
 
Apabila membandingkan aksara atau rentetan, Python menukar aksara kepada nilai ordinal masing-masing dan kemudian membandingkan dari kiri ke kanan. 

Contohnya: "lokomotif"  < "steamboat", kerana perkataan berbeza dalam huruf kelima dan "dalam" < "x".

Memisahkan garis kepada bahagian

Apabila memasukkan rentetan, anda boleh membahagikannya dengan segera kepada bahagian dengan mana-mana pemisah.
Kami telah melakukan ini sebelum ini apabila kami memasukkan berbilang pembolehubah berangka pada baris yang sama. Kami menggunakan kaedah split() untuk memisahkan rentetan kepada bahagian. Secara lalai, ia memisahkan rentetan kepada subrentetan mengikut ruang.
Menggunakan kaedah ini, anda boleh membahagikan rentetan kepada bahagian, contohnya, mengikut ruang. Dan tulis setiap bahagian rentetan ke dalam pembolehubah yang berasingan.
 
Contoh
s1, s2 = input().split()

Dalam contoh, apabila memasukkan dua perkataan yang dipisahkan oleh ruang, perkataan pertama disimpan dalam pembolehubah s1, yang kedua - dalam pembolehubah s2.

Tambahan dan pendaraban rentetan

Rentetan boleh ditambah, untuk ini tanda "+" digunakan. Operasi ini dipanggil penggabungan rentetan atau penggabungan
 
Contoh 
s = "Hello,"
s1 = "dunia"
cetakan(s + s1)
Skrin akan memaparkan frasa "Hello world" (tanpa petikan).

Python melaksanakan operasi mendarab rentetan dengan nombor: ia menggantikan berbilang penambahan.
 
Contoh 
tali
s = "dunia "+"dunia "+"dunia "+"dunia "
boleh digantikan dengan  
s = "dunia " *4

Merujuk kepada indeks baris

Setiap aksara dalam rentetan mempunyai nombor (dipanggil indeks), dan penomboran sentiasa bermula dari sifar dalam banyak bahasa.
Dalam Python, anda boleh menentukan indeks negatif. Ini bermakna ia dikira dari hujung baris.
 
Contoh 

Jika anda menambah panjang rentetan pada indeks negatif, anda mendapat "biasa" kedudukan watak.
 
Perlu diingat!
Dalam Python, anda tidak boleh menukar satu aksara dalam rentetan, kerana rentetan itu sendiri tidak boleh diubah. 

String S H e l l o
Indeks S[0] S[1] S[2] S[3] S[4]
Indeks S[-5] S[-4] S[-3] S[-2] S[-1]

Lelaran pada semua aksara

Memandangkan aksara boleh diakses melalui indeks, anda boleh menggunakan gelung pembolehubah untuk melelaran ke atas semua aksara, yang akan mengambil nilai indeks yang mungkin. Sebagai contoh, program yang memaparkan semua kod aksara rentetan s akan kelihatan seperti ini untuk i dalam julat(len(s)): cetakan(s[i], ord(s[i])) Penjelasan untuk program:
1) Fungsi len(s) mencari panjang rentetan. Indeks aksara pertama ialah 0 dan indeks yang terakhir ialah len(s)-1. Pembolehubah gelung i hanya akan mengambil nilai secara berurutan daripada 0 kepada len(s)-1.
2) Dalam setiap baris, simbol itu sendiri akan dipaparkan dahulu, dan kemudian kodnya, yang dikembalikan oleh fungsi terbina dalam ord().

Penghitungan yang sama boleh ditulis lebih pendek: untuk c dalam s: cetak(c, ord(c)) Dalam serpihan ini, pengepala gelung melingkari semua aksara s, meletakkannya pada gilirannya dalam pembolehubah c.

Seperti yang telah disebutkan, keistimewaan Python apabila bekerja dengan rentetan ialah rentetan adalah objek yang tidak boleh diubah. Dalam erti kata lain, kita tidak boleh menukar aksara individu bagi rentetan.

Sebagai contoh, pernyataan berikut tidak akan berfungsi s[5]='a' Tetapi anda boleh mengarang baris baharu daripada aksara dengan perubahan yang diperlukan.
 
Tugas
Dalam rentetan input, gantikan semua aksara 'a' kepada aksara 'b'.  s = input() sBaru = "" untuk c dalam s: jika c == 'a': c = 'b' sBaharu += c cetak(sBaru)
Dalam program ini, gelung melalui semua aksara rentetan s. Dalam badan gelung, kami menyemak nilai pembolehubah с: jika simbol sepadan dengan simbol 'a', maka kami menggantikannya dengan 'b< /code>' dan tambahkannya pada penghujung baris baharu sNew menggunakan operator penambahan.
Pilihan ini agak perlahan.

Pada masa hadapan, kita akan melihat pada fungsi manipulasi rentetan terbina dalam dan mempelajari cara melakukannya dengan lebih pantas.