Daftar adalah kumpulan nilai yang diurutkan, di mana setiap nilai diidentifikasi oleh indeks. Nilai-nilai yang membentuk sebuah daftar disebut elemen-elemennya. Daftar mirip dengan string, yang merupakan kumpulan karakter yang diurutkan, kecuali bahwa elemen daftar dapat memiliki tipe apa pun. Daftar dan string — dan hal-hal lain yang berperilaku seperti himpunan terurut — disebut urutan Show
9. 1. Daftar nilaiAda beberapa cara untuk membuat daftar baru; . [ and ]): [10, 20, 30, 40] ["spam", "bungee", "swallow"] Contoh pertama adalah daftar empat bilangan bulat. Yang kedua adalah daftar tiga string. Elemen daftar tidak harus bertipe sama. Daftar berikut berisi string, float, integer, dan (mirabile dictu) daftar lainnya ["hello", 2.0, 5, [10, 20]]_ Daftar di dalam daftar lain dikatakan bersarang Akhirnya, ada daftar khusus yang tidak mengandung elemen. Ini disebut daftar kosong, dan dinotasikan [] . Seperti nilai numerik 0 dan string kosong, daftar kosong salah dalam ekspresi boolean >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>> Dengan semua cara untuk membuat daftar ini, akan mengecewakan jika kita tidak dapat menetapkan nilai daftar ke variabel atau meneruskan daftar sebagai parameter ke fungsi. Kita dapat >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] [] 9. 2. Mengakses elemenSintaks untuk mengakses elemen daftar sama dengan sintaks untuk mengakses karakter string—operator braket ( [] – not to be confused with an empty list). The expression inside the brackets specifies the index. Remember that the indices start at 0: >>> print numbers[0] 17_ Ekspresi bilangan bulat apa pun dapat digunakan sebagai indeks >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers Jika Anda mencoba membaca atau menulis elemen yang tidak ada, Anda akan mendapatkan kesalahan runtime >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_ Jika sebuah indeks memiliki nilai negatif, indeks tersebut menghitung mundur dari akhir daftar >>> numbers[-1] 123 >>> numbers[-2] 17 >>> numbers[-3] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range angka[-1] adalah elemen terakhir dari daftar, angka[-2] . numbers[-3] doesn’t exist. Adalah umum untuk menggunakan variabel loop sebagai indeks daftar horsemen = ["war", "famine", "pestilence", "death"] i = 0 while i < 4: print horsemen[i] i += 1_ Perulangan while ini dihitung dari 0 hingga 4. Ketika variabel loop i adalah 4, kondisi gagal dan loop berakhir. Jadi isi loop hanya dieksekusi ketika i adalah 0, 1, 2, dan 3. Setiap kali melewati perulangan, variabel i digunakan sebagai indeks ke dalam daftar, mencetak i-eth element. This pattern of computation is called a list traversal. 9. 3. Panjang daftarFungsi len mengembalikan panjang daftar, yang sama dengan jumlah elemennya. Merupakan ide yang bagus untuk menggunakan nilai ini sebagai batas atas dari sebuah loop daripada sebuah konstanta. Dengan begitu, jika ukuran daftar berubah, Anda tidak perlu melalui program yang mengubah semua loop; . horsemen = ["war", "famine", "pestilence", "death"] i = 0 num = len(horsemen) while i < num: print horsemen[i] i += 1_ Terakhir kali badan loop dieksekusi, i adalah len(penunggang kuda)< . Ketika - 1, which is the index of the last element. When i sama dengan len(penunggang kuda) , kondisi gagal dan . len(horsemen) is not a legal index. Meskipun daftar dapat berisi daftar lain, daftar bersarang tetap dihitung sebagai elemen tunggal. Panjang daftar ini adalah 4 ["hello", 2.0, 5, [10, 20]]_0 9. 4. Daftar keanggotaanin adalah operator boolean yang menguji keanggotaan secara berurutan. Kami menggunakannya sebelumnya dengan string, tetapi juga berfungsi dengan daftar dan urutan lainnya. ["hello", 2.0, 5, [10, 20]]_1 Karena penyakit sampar termasuk dalam daftar penunggang kuda , maka di operator returns True. Since debauchery is not in the list, in mengembalikan False . Kita dapat menggunakan tidak dikombinasikan dengan di . ["hello", 2.0, 5, [10, 20]]_2 9. 5. Operasi daftarOperator + menggabungkan daftar. ["hello", 2.0, 5, [10, 20]]_3 Demikian pula, operator * mengulangi daftar beberapa kali. ["hello", 2.0, 5, [10, 20]]_4 Contoh pertama berulang [0] empat kali. Contoh kedua mengulangi daftar [1, 2, 3] tiga . 9. 6. Daftar irisanOperasi irisan yang kita lihat dengan string juga berfungsi pada daftar ["hello", 2.0, 5, [10, 20]]_5 9. 7. Fungsi rentang functionDaftar yang berisi bilangan bulat berurutan adalah umum, jadi Python menyediakan cara sederhana untuk membuatnya ["hello", 2.0, 5, [10, 20]]_6 Fungsi rentang mengambil dua argumen dan mengembalikan daftar yang berisi semua bilangan bulat dari yang pertama hingga yang kedua, termasuk yang pertama tetapi tidak . Ada dua bentuk lain dari rentang . Dengan satu argumen, itu membuat daftar yang dimulai dari 0. ["hello", 2.0, 5, [10, 20]]_7 Jika ada argumen ketiga, itu menentukan ruang antara nilai-nilai yang berurutan, yang disebut ukuran langkah. Contoh ini menghitung dari 1 sampai 10 dengan langkah 2 ["hello", 2.0, 5, [10, 20]]_8 Jika ukuran langkah negatif, maka mulai harus lebih besar dari berhenti ["hello", 2.0, 5, [10, 20]]_9 atau hasilnya akan menjadi daftar kosong >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>0 9. 8. Daftar dapat berubahTidak seperti string, daftar dapat diubah, yang berarti kita dapat mengubah elemennya. Menggunakan operator braket di sisi kiri tugas, kita dapat memperbarui salah satu elemen >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>1 Operator tanda kurung yang diterapkan pada daftar dapat muncul di mana saja dalam ekspresi. Saat muncul di sisi kiri tugas, itu mengubah salah satu elemen dalam daftar, jadi elemen pertama buah telah diubah dari < . Penugasan ke elemen daftar disebut penugasan item. Penetapan item tidak berfungsi untuk string. 'banana' to 'pear', and the last from 'quince' to 'orange'. An assignment to an element of a list is called item assignment. Item assignment does not work for strings: >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>2 tapi itu untuk daftar >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>_3 Dengan operator slice kita bisa mengupdate beberapa elemen sekaligus >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>_4 Kami juga dapat menghapus elemen dari daftar dengan menugaskan daftar kosong ke mereka >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>5 Dan kita bisa menambahkan elemen ke daftar dengan meremasnya menjadi irisan kosong di lokasi yang diinginkan >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>6 9. 9. Penghapusan daftarMenggunakan irisan untuk menghapus elemen daftar bisa menjadi canggung, dan karena itu rawan kesalahan. Python memberikan alternatif yang lebih mudah dibaca del menghapus elemen dari daftar. >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>7 Seperti yang Anda duga, del menangani indeks negatif dan menyebabkan kesalahan runtime jika indeks berada di luar jangkauan. Anda dapat menggunakan irisan sebagai indeks untuk del . >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>_8 Seperti biasa, irisan memilih semua elemen hingga, tetapi tidak termasuk, indeks kedua 9. 10. Objek dan nilaiJika kita menjalankan pernyataan penugasan ini, >>> if []: .. print 'This is true.' .. else: .. print 'This is false.' ... This is false. >>>_9 kita tahu bahwa a dan b akan merujuk ke . Tapi kami belum tahu apakah mereka menunjuk ke string yang sama. "banana". But we don’t know yet whether they point to the same string. Ada dua kemungkinan keadaan Dalam satu kasus, a dan b lihat . Dalam kasus kedua, mereka mengacu pada hal yang sama. Hal-hal ini memiliki nama — mereka disebut objek. Objek adalah sesuatu yang dapat dirujuk oleh variabel. Kita dapat menguji apakah dua nama memiliki nilai yang sama menggunakan == . >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []0 Kita dapat menguji apakah dua nama merujuk ke objek yang sama menggunakan operator is >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []1 Ini memberi tahu kita bahwa a dan b merujuk . Karena string tidak dapat diubah, Python mengoptimalkan sumber daya dengan membuat dua nama yang merujuk ke nilai string yang sama merujuk ke objek yang sama Ini tidak terjadi dengan daftar >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []2 Diagram keadaan di sini terlihat seperti ini a dan b memiliki nilai yang sama tetapi tidak merujuk ke objek yang sama. 9. 11. AliasingKarena variabel merujuk ke objek, jika kita menugaskan satu variabel ke variabel lain, kedua variabel merujuk ke objek yang sama >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []_3 Dalam hal ini, diagram keadaan terlihat seperti ini Karena daftar yang sama memiliki dua nama yang berbeda, a dan b, we say that it is aliased. Changes made with one alias affect the other: >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []_4 Meskipun perilaku ini bisa bermanfaat, terkadang tidak terduga atau tidak diinginkan. Secara umum, lebih aman untuk menghindari alias saat Anda bekerja dengan objek yang bisa berubah. Tentu saja, untuk objek yang tidak dapat diubah, tidak ada masalah. Itu sebabnya Python bebas menggunakan string alias ketika melihat peluang untuk berhemat 9. 12. Daftar kloningJika kita ingin memodifikasi daftar dan juga menyimpan salinan aslinya, kita harus dapat membuat salinan dari daftar itu sendiri, bukan hanya referensi. Proses ini terkadang disebut kloning, untuk menghindari ambiguitas penyalinan kata Cara termudah untuk mengkloning daftar adalah dengan menggunakan operator irisan >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []5 Mengambil potongan apa pun dari a membuat daftar baru. Dalam hal ini potongan tersebut terdiri dari seluruh daftar. Kini kami bebas melakukan perubahan pada b tanpa mengkhawatirkan a: >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []6 9. 13. Daftar dan for loopPerulangan untuk juga berfungsi dengan daftar. Sintaks umum dari loop for adalah. >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []_7 Pernyataan ini setara dengan >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []8 loop for lebih ringkas karena kita bisa menghilangkan variabel loop, i. Here is an equivalent to the while loop dari bagian yang ditulis dengan for loop. >>> vocabulary = ["ameliorate", "castigate", "defenestrate"] >>> numbers = [17, 123] >>> empty = [] >>> print vocabulary, numbers, empty ['ameliorate', 'castigate', 'defenestrate'] [17, 123] []_9 Hampir terbaca seperti bahasa Inggris. Untuk (setiap) penunggang kuda dalam (daftar) penunggang kuda, cetak (nama) penunggang kuda Ekspresi daftar apa pun dapat digunakan dalam loop for . >>> print numbers[0] 17_0 Contoh pertama mencetak semua kelipatan 3 antara 0 dan 19. Contoh kedua mengungkapkan antusiasme terhadap berbagai buah Karena daftar dapat diubah, seringkali diinginkan untuk melintasi daftar, memodifikasi setiap elemennya. Kuadratkan semua bilangan berikut dari 1 sampai 5 . >>> print numbers[0] 17_1 Luangkan waktu sejenak untuk memikirkan tentang range(len(angka)) hingga Anda memahami cara kerjanya. Kami di sini tertarik pada nilai dan indeksnya di dalam daftar, sehingga kami dapat menetapkan nilai baru untuknya. Pola ini cukup umum sehingga Python menyediakan cara yang lebih bagus untuk mengimplementasikannya >>> print numbers[0] 17_2 enumerate menghasilkan indeks dan nilai yang terkait dengannya selama penjelajahan daftar. Coba contoh berikut ini untuk melihat lebih jelas cara kerja enumerate . >>> print numbers[0] 17_3 9. 14. Daftar parameterMelewati daftar sebagai argumen sebenarnya memberikan referensi ke daftar, bukan salinan daftar. Karena daftar adalah perubahan yang dapat diubah, perubahan yang dilakukan pada parameter juga mengubah argumen. Misalnya, fungsi di bawah mengambil daftar sebagai argumen dan mengalikan setiap elemen dalam daftar dengan 2 >>> print numbers[0] 17_4 Jika kita memasukkan double_stuff dalam file bernama ch09. py , kita bisa mengujinya seperti ini. >>> print numbers[0] 17_5 Parameter a_list dan variabel things adalah alias . Diagram keadaan terlihat seperti ini. Karena objek daftar dibagi oleh dua bingkai, kami menggambarnya di antara keduanya Jika suatu fungsi mengubah parameter daftar, pemanggil akan melihat perubahannya 9. 15. Fungsi dan pengubah murniFungsi yang mengambil daftar sebagai argumen dan mengubahnya selama eksekusi disebut pengubah dan perubahan yang dibuatnya disebut efek samping Fungsi murni tidak menghasilkan efek samping. Itu berkomunikasi dengan program pemanggil hanya melalui parameter, yang tidak diubah, dan nilai kembalian. Ini double_stuff ditulis sebagai fungsi murni. >>> print numbers[0] 17_6 Versi double_stuff ini tidak mengubah argumennya. >>> print numbers[0] 17_7 Untuk menggunakan versi fungsi murni dari double_stuff untuk memodifikasi sesuatu, you would assign the return value back to things: >>> print numbers[0] 17_8 9. 16. Mana yang lebih baik?Apa pun yang dapat dilakukan dengan pengubah juga dapat dilakukan dengan fungsi murni. Faktanya, beberapa bahasa pemrograman hanya mengizinkan fungsi murni. Ada beberapa bukti bahwa program yang menggunakan fungsi murni lebih cepat berkembang dan lebih sedikit rawan kesalahan daripada program yang menggunakan pengubah. Namun demikian, pengubah terkadang nyaman, dan dalam beberapa kasus, program fungsional kurang efisien Secara umum, kami menganjurkan agar Anda menulis fungsi murni kapan pun wajar untuk melakukannya dan menggunakan pengubah hanya jika ada keuntungan yang menarik. Pendekatan ini mungkin disebut gaya pemrograman fungsional 9. 17. Daftar bersarangDaftar bersarang adalah daftar yang muncul sebagai elemen dalam daftar lain. Dalam daftar ini, elemen dengan indeks 3 adalah daftar bersarang >>> print numbers[0] 17_9 Jika kita mencetak bersarang[3] , kita mendapatkan [10, 20]. To extract an element from the nested list, we can proceed in two steps: >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers0 Atau kita bisa menggabungkannya >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers1 Operator braket mengevaluasi dari kiri ke kanan, jadi ekspresi ini mendapatkan elemen tiga-eth dari bersarang dan mengekstrak elemen satu-eth dari . 9. 18. MatriksDaftar bersarang sering digunakan untuk mewakili matriks. Misalnya matriks mungkin direpresentasikan sebagai >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers2 matriks adalah daftar dengan tiga elemen, di mana setiap elemen adalah baris dari matriks. Kita dapat memilih seluruh baris dari matriks dengan cara biasa. >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_3 Atau kita dapat mengekstrak satu elemen dari matriks menggunakan bentuk indeks ganda >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_4 Indeks pertama memilih baris, dan indeks kedua memilih kolom. Meskipun cara merepresentasikan matriks seperti ini umum dilakukan, ini bukan satu-satunya kemungkinan. Variasi kecil adalah dengan menggunakan daftar kolom, bukan daftar baris. Nanti kita akan melihat alternatif yang lebih radikal menggunakan kamus 9. 19. Pengembangan yang digerakkan oleh tes (TDD)Test-driven development (TDD) adalah praktik pengembangan perangkat lunak yang sampai pada fitur yang diinginkan melalui serangkaian langkah iteratif kecil yang dimotivasi oleh tes otomatis yang ditulis terlebih dahulu yang menyatakan penyempurnaan yang meningkat dari fitur yang diinginkan Doctest memungkinkan kita mendemonstrasikan TDD dengan mudah. Katakanlah kita menginginkan fungsi yang membuat baris dengan kolom matriks yang diberikan . rows and columns. Pertama-tama kita menyiapkan pengujian untuk fungsi ini dalam file bernama matriks. py . >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers5 Menjalankan ini mengembalikan dalam tes yang gagal >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_6 Pengujian gagal karena badan fungsi hanya berisi satu string yang dikutip tiga kali lipat dan tidak ada pernyataan pengembalian, sehingga mengembalikan Tidak ada . Pengujian kami menunjukkan bahwa kami ingin mengembalikan matriks dengan 3 baris dari 5 kolom nol. Aturan dalam menggunakan TDD adalah menggunakan hal paling sederhana yang berfungsi dalam menulis solusi untuk lulus ujian, jadi dalam hal ini kita cukup mengembalikan hasil yang diinginkan >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_7 Menjalankan ini sekarang pengujian berhasil, tetapi penerapan make_matrix kami saat ini selalu mengembalikan hasil yang sama, yang jelas bukan yang kami maksudkan. Untuk memperbaikinya, pertama-tama kami memotivasi peningkatan kami dengan menambahkan tes. >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_8 yang seperti yang kita harapkan gagal >>> numbers[9-8] 123 >>> numbers[1.0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers_9 Teknik ini disebut test-driven karena kode hanya boleh ditulis ketika ada tes yang gagal untuk lulus. Termotivasi oleh tes yang gagal, kami sekarang dapat menghasilkan solusi yang lebih umum >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_0 Solusi ini tampaknya berfungsi, dan kami mungkin berpikir kami sudah selesai, tetapi ketika kami menggunakan fungsi baru nanti, kami menemukan bug >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_1 Kami ingin menetapkan elemen di baris kedua dan kolom ketiga nilai 7, sebagai gantinya, semua elemen di kolom ketiga adalah 7 Setelah refleksi, kami menyadari bahwa dalam solusi kami saat ini, setiap baris adalah alias dari baris lainnya. Ini jelas bukan yang kami maksudkan, jadi kami mulai memperbaiki masalah, pertama dengan menulis tes yang gagal >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_2 Dengan pengujian yang gagal untuk diperbaiki, kami sekarang didorong ke solusi yang lebih baik >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_3 Menggunakan TDD memiliki beberapa manfaat untuk proses pengembangan perangkat lunak kami. Dia
9. 20. String dan daftarPython memiliki perintah bernama list yang menggunakan tipe urutan sebagai argumen dan membuat daftar dari elemen-elemennya. >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_4 Ada juga perintah str yang mengambil nilai Python apa pun sebagai argumen dan mengembalikan representasi string darinya. >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_5 Seperti yang dapat kita lihat dari contoh terakhir, str tidak dapat digunakan untuk menggabungkan daftar karakter bersama-sama. Untuk melakukannya, kita dapat menggunakan fungsi join di modul string . >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_6 Dua dari fungsi paling berguna dalam modul string melibatkan daftar string. Fungsi split memecah string menjadi daftar kata. Secara default, sejumlah karakter spasi dianggap sebagai batas kata. >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_7 Argumen opsional yang disebut pembatas dapat digunakan untuk menentukan karakter mana yang akan digunakan sebagai batas kata. Contoh berikut menggunakan string ai sebagai pembatas. >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_8 Perhatikan bahwa pembatas tidak muncul dalam daftar string. join adalah kebalikan dari string. pisahkan . Dibutuhkan dua argumen. daftar string dan pemisah yang akan ditempatkan di antara setiap elemen dalam daftar di string yang dihasilkan. >>> numbers[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range_9 9. 21. GlosariumaliasesBeberapa variabel yang berisi referensi ke objek yang sama. cloneUntuk membuat objek baru yang memiliki nilai yang sama dengan objek yang sudah ada. Menyalin referensi ke objek membuat alias tetapi tidak mengkloning objek. delimiterKarakter atau string yang digunakan untuk menunjukkan di mana string harus dipisahkan. elementSalah satu nilai dalam daftar (atau urutan lainnya). Operator braket memilih elemen dari daftar. indexSuatu variabel atau nilai bilangan bulat yang menunjukkan elemen dari daftar. listA kumpulan objek bernama, di mana setiap objek diidentifikasi oleh indeks. list traversalPengaksesan berurutan dari setiap elemen dalam sebuah list. modifierFungsi yang mengubah argumennya di dalam badan fungsi. Hanya tipe yang dapat diubah yang dapat diubah oleh pengubah. tipe data yang dapat diubahTipe data yang elemennya dapat dimodifikasi. Semua tipe yang bisa berubah adalah tipe majemuk. Daftar adalah tipe data yang bisa berubah; . daftar bersarangSebuah daftar yang merupakan elemen dari daftar lain. objectSebuah hal yang dapat dirujuk oleh variabel. fungsi murniFungsi yang tidak memiliki efek samping. Fungsi murni hanya membuat perubahan pada program pemanggilan melalui nilai pengembaliannya. sequenceSetiap tipe data yang terdiri dari kumpulan elemen terurut, dengan setiap elemen diidentifikasi oleh indeks. efek sampingPerubahan status program yang dibuat dengan memanggil fungsi yang bukan merupakan hasil pembacaan nilai kembalian dari fungsi tersebut. Efek samping hanya dapat dihasilkan oleh pengubah. ukuran langkahInterval antara elemen berurutan dari urutan linier. Argumen ketiga (dan opsional) untuk fungsi rentang disebut ukuran langkah. Jika tidak ditentukan, standarnya adalah 1. test-driven development (TDD)Praktek pengembangan perangkat lunak yang sampai pada fitur yang diinginkan melalui serangkaian langkah iteratif kecil yang dimotivasi oleh tes otomatis yang ditulis terlebih dahulu yang menyatakan penyempurnaan yang meningkat dari fitur yang diinginkan. (lihat artikel Wikipedia tentang Test-driven development untuk informasi lebih lanjut. )9. 22. Latihan
|