Tutorial Python untuk bukan pengatur cara/Tambahan tentang List: Perbezaan antara semakan

Kandungan dihapus Kandungan ditambah
Aurora (bincang | sumb.)
kategori
Algazel (bincang | sumb.)
kembang terjemahan
Baris 11:
'lima'
 
Seharusnya kesemua contoh-contoh di atas tidak asing bagi anda. Jika anda mahukan item pertama dalam senarai atau <code>list</code> anda hanya perlu melihat <code>index</code> 0. Item kedua ialah <code>index</code> 1 dan seterusnya sehingga ke akhir senarai atau <code>list</code>. Namun, bagaimana pula jika anda mahukan item terakhir dalam senarai? Satu cara ialah dengan mengguna fungsi <code>len()</code> <code>beberapa_nombor[len(beberapa_nombor) - 1]</code>. Kaedah ini terlaksana kerana fungsi <code>len()</code> senantiasasentiasa memulangkan nilai <code>index</code> terakhir ''tambah'' satu. Item kedua dari akhir pula boleh didapatkan seperti berikut <code>beberapa_nombor[len(beberapa_nombor) - 2]</code>. Ada cara yang lebih mudah bagi melakukan ini. Dengan Python item terakhir sentiasa <code>index</code> -1. Item kedua dari akhir ialah <code>index</code> -2 dan seterusnya. Berikut beberapa contoh:
 
>>> '''some_numbersbeberapa_nombor[len(some_numbersbeberapa_nombor) - 1]'''
'fivelima'
>>> '''some_numbersbeberapa_nombor[len(some_numbersbeberapa_nombor) - 2]'''
'fourempat'
>>> '''some_numbersbeberapa_nombor[-1]'''
'fivelima'
>>> '''some_numbersbeberapa_nombor[-2]'''
'fourempat'
>>> '''some_numbersbeberapa_nombor[-6]'''
'zerosifar'
 
Justeru apa jua item dapat diindeksdiindekskan dalamdengan dua cara: dari hadapan, dan dari belakang.
 
Satu lagi cara berguna untuk mendapatkan sebahagian senarai ialah dengan menggunakan <code>slice</code> atau hirisan. Ini satu lagi contoh yang dapat memberikan anda idea kegunaan <code>slice</code>:
 
>>> '''thingsbenda = [0, 'Fred', 2, 'S.P.A.M.', 'StockingStokin', 42, "Jack", "Jill"]'''
>>> '''thingsbenda[0]'''
0
>>> '''thingsbenda[7]'''
'Jill'
>>> '''thingsbenda[0:8]'''
[0, 'Fred', 2, 'S.P.A.M.', 'StockingStokin', 42, 'Jack', 'Jill']
>>> '''thingsbenda[2:4]'''
[2, 'S.P.A.M.']
>>> '''thingsbenda[4:7]'''
['StockingStokin', 42, 'Jack']
>>> '''thingsbenda[1:5]'''
['Fred', 2, 'S.P.A.M.', 'StockingStokin']
 
Penghirisan diugnakan bagi memulangkan sebahagian <code>list</code> atau senarai. Operator penghiris ditulis dalam bentuk <code>barang[indeks_pertama:indeks_terakhir]</code>. Penghirisan memotong senarai sebelum <code>indeks_pertama</code> dan sebelum <code>indeks_terakhir</code>, dan memulangkan bahagian di antara kedua-duanya. Anda boleh gunakan kedua-dua jenis indeks:
Slicing is used to return part of a list. The slicing operator is in the form <code>things[first_index:last_index]</code>. Slicing cuts the list before the <code>first_index</code> and before the <code>last_index</code> and returns the parts inbetween. You can use both types of indexing:
 
>>> '''thingsbenda[-4:-2]'''
['StockingStokin', 42]
>>> '''thingsbenda[-4]'''
'StockingStokin'
>>> '''thingsbenda[-4:6]'''
['StockingStokin', 42]
 
Satu lagi helah yang boleh digunakan dengan penghirisan ialah menghiris tanpa tetapan indeks. Jika indeks pertama tidak ditetapkan, Python akan membuat tanggapan bahawa permulaan senarai telah dipilih. Jika indeks terakhir pula tidak ditetapkan, tanggapannya ialah semua ''baki'' senarai dipilih. Ini beberapa contoh:
Another trick with slicing is the unspecified index. If the first index is not specified the beginning of the list is assumed. If the last index is not specified the whole rest of the list is assumed. Here are some examples:
 
>>> '''thingsbenda[:2]'''
[0, 'Fred']
>>> '''thingsbenda[-2:]'''
['Jack', 'Jill']
>>> '''thingsbenda[:3]'''
[0, 'Fred', 2]
>>> '''thingsbenda[:-5]'''
[0, 'Fred', 2]
 
Ini sebuah program (diilhamkan HTML) (salin dan tampal dalam definisi pantun jika anda mahu):
Here is a (HTML inspired) program example (copy and paste in the poem definition if you want):
 
<source lang="python">
poempantun = ["<B>", "JackBertanak", "andnasi", "Jillsi anak", "Cina", "</B>", "went", "up", "the",
"hill", "to", "<B>", "fetch", "a", "pail", "of", "</B>",
"water.", "Jack", "fell", "<B>", "down", "and", "broke",