Tutorial Python untuk bukan pengatur cara/Dendam String: Perbezaan antara semakan

Kandungan dihapus Kandungan ditambah
Algazel (bincang | sumb.)
Algazel (bincang | sumb.)
Baris 248:
</tt>
 
Perhatikan bahawa indeks merah dikira bermula dari permulaan string dan yang biru pula dari akhir string (perhatikan bahawa tiada -0 biru, dan ini logik jika dilihat dari segi akhir rentetan). Oleh sebab <tt>-0 == 0</tt>, (-0 juga bermaksud "permulaan rentetan"). Sekarang kita bersedia untuk menggunakan indeks buat operasi hirisan:
Note that the red indexes are counted from the beginning of the string and the blue ones from the end of the string backwards. (Note that there is no blue -0, which could seem to be logical at the end of the string. Because <tt>-0 == 0</tt>, (-0 means "beginning of the string" as well.) Now we are ready to use the indexes for slicing operations:
 
<tt>
Baris 269:
</tt>
 
*<tt>text[1:4]</tt> memberikan semua rentetan <tt>text</tt> di antara tempat ketip 1 dan 4, "<tt>TRI</tt>". Jika anda abaikan satu daripada argumen [indeks_pertama:indeks_akhir], anda akan mendapat permulaan atau akhir rentetan sebagai lalai: <tt>text[:5]</tt> memberi "<tt>STRIN</tt>".
<tt>text[1:4]</tt> gives us all of the <tt>text</tt> string between clipping places 1 and 4, "<tt>TRI</tt>". If you omit one of the [first_index:last_index] arguments, you get the beginning or end of the string as default: <tt>text[:5]</tt> gives "<tt>STRIN</tt>". For both <tt>first_index</tt> and <tt>last_index</tt> we can use both the red and the blue numbering schema: <tt>text[:-1]</tt> gives the same as <tt>text[:5]</tt>, because the index -1 is at the same place as 5 in this case. If we do not use an argument containing a colon, the number is treated in a different way: <tt>text[2]</tt> gives us one character following the second clipping point, "<tt>R</tt>". The special slicing operation <tt>text[:]</tt> means "from the beginning to the end" and produces a copy of the entire string (or list, as shown in the previous chapter).
*Bagi kedua-dua <tt>indeks_pertama</tt> dan <tt>indeks_akhir</tt>, kita boleh menggunakan kedua-dua skema penomboran merah dan biru: <tt>text[:-1]</tt> memberikan rentetan yang sama dengan <tt>text[:5]</tt>, kerana indeks -1 berada pada tempat yang sama dengan 5 dalam kes ini.
*Jika kita tidak menggunakan argumen yang mengandungi tanda ttik berganda (<code>":"</code>), nombor akan dikendalikan dengan cara lain: <tt>text[2]</tt> memberi kita satu aksara selepas tempat ketip, "<tt>R</tt>".
*Operasi hirisan khas <tt>text[:]</tt> bermakna" dari permulaan hingga ke akhir" dan mewujudkan salinan rentetan (atau senarai).
 
LastAkhir but not leastsekali, theoperasi slicinghirisan operationboleh canmengandungi havetanda atitik secondberganda colonkedua anddan aargumen thirdketiga argument,yang whichditakrifkan is interpreted as thesebagai "stepsaiz sizetingkat": <tt>text[::-1]</tt> isbermakna <tt>text</tt> fromdari beginningpermulaan tosehingga theke endakhir, withdengan asaiz step size oftingkat -1. Angka -1 means bermaksud "everysetiap characteraksara, butakan intetapi thedari otherarah directionsebaliknya". "<tt>STRING</tt>" backwardsterbalik isadalah "<tt>GNIRTS</tt>" (testuji asaiz step length oftingkat 2, if you have not gotjika theanda pointmasih heremusykil).
 
Semua operasi hiris bekerja dengan senarai atau <code>list</code>. Dalam hal ini, rentetan boleh dikatakan sebentuk senarai yang istimewa dan unsur-unsur <code>list</code> merupakan aksara-aksara individu. Anda hanya perlu ingat konsep ''tempat ketip'' dan indeks bagi menghiris akan kelihatan lebih jelas.
All these slicing operations work with lists as well. In that sense strings are just a special case of lists, where the list elements are single characters. Just remember the concept of ''clipping places'', and the indexes for slicing things will get a lot less confusing.
 
=== Contoh ===