Daftar bersarang adalah daftar yang muncul sebagai elemen dalam daftar lain. Dalam daftar ini, elemen dengan indeks 3 adalah daftar bersarang. Jika kita mencetak(_______ 171 _______), kita mendapatkan _______ 172 _______. Untuk mengekstrak elemen dari daftar bersarang, kita dapat melanjutkan dalam dua langkah. Pertama, ekstrak daftar bersarang, lalu ekstrak item yang diinginkan. Dimungkinkan juga untuk menggabungkan langkah-langkah tersebut menggunakan operator braket yang mengevaluasi dari kiri ke kanan Show
Periksa pemahaman Anda Apa yang dicetak oleh pernyataan berikut? alist = [ [4, [True, False], 6, 8], [888, 999] ] if alist[0][1][0]: print(alist[1][0]) else: print(alist[1][1]) Anda telah mencoba aktivitas di halaman ini
Diberikan daftar daftar, tulis program Python untuk mengekstrak elemen pertama dari setiap subdaftar dalam daftar daftar yang diberikan. Contoh Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]] Output : [1, 3, 6] Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']] Output : ['x', 'm', 'a', 'u']_ Pendekatan #1. Daftar pemahaman Python3
[1, 3, 6]0 [1, 3, 6]1 [1, 3, 6]2 [1, 3, 6]3 [1, 3, 6]4 [1, 3, 6]5 [1, 3, 6]6 [1, 3, 6]7
[1, 3, 6]_9 [1, 3, 6]0 [1, 3, 6]1 [1, 3, 6]2 [1, 3, 6]3 [1, 3, 6]4 [1, 3, 6]5 [1, 3, 6]6 [1, 3, 6]7 [1, 3, 6]4 [1, 3, 6]9 [1, 3, 6]4 [1, 3, 6]1 [1, 3, 6]6 [1, 3, 6]3 [1, 3, 6]4 [1, 3, 6]5 [1, 3, 6]4 [1, 3, 6]7 [1, 3, 6]4 [1, 3, 6]9 [1, 3, 6]0 Bab ini diambil dari buku A Primer on Scientific Programming with Python oleh H. P. Langtangen, edisi ke-5, Springer, 2016 Daftar bersarang adalah objek daftar di mana elemen dalam daftar dapat berupa daftar itu sendiri. Beberapa contoh akan memotivasi daftar bersarang dan mengilustrasikan operasi dasar pada daftar tersebut Tabel sebagai daftar baris atau kolomData tabel kami sejauh ini menggunakan satu daftar terpisah untuk setiap kolom. Jika ada \( n \) kolom, kita perlu \( n \) daftar objek untuk mewakili data dalam tabel. Namun, kami menganggap tabel sebagai satu entitas, bukan kumpulan kolom \( n \). Oleh karena itu wajar untuk menggunakan satu argumen untuk seluruh tabel. Ini mudah dicapai dengan menggunakan daftar bersarang, di mana setiap entri dalam daftar adalah daftar itu sendiri. Objek tabel, misalnya, adalah daftar daftar, baik daftar elemen baris tabel atau daftar elemen kolom tabel. Berikut adalah contoh di mana tabel adalah daftar dua kolom, dan setiap kolom adalah daftar angka _(Perhatikan bahwa nilai apa pun dalam \( [41,45] \) dapat digunakan sebagai argumen kedua (nilai berhenti) untuk 6 dan akan memastikan bahwa 40 termasuk dalam rentang angka yang dihasilkan. )Dengan subskrip 7 kita dapat mengakses elemen pertama di 8, yang tidak lain adalah daftar 9, dan dengan 0 kita mencapai elemen ketiga di elemen pertama, i. e. , _1Gambar 2. Dua cara membuat tabel sebagai daftar bersarang. Kiri. tabel kolom 2 dan 3, di mana 2 dan 3 adalah daftar. Benar. tabel baris, di mana setiap baris 6 adalah daftar dua pelampungNamun, data tabular dengan baris dan kolom biasanya memiliki konvensi bahwa data yang mendasarinya adalah daftar bersarang di mana indeks pertama menghitung baris dan indeks kedua menghitung kolom. Untuk memiliki _8 pada formulir ini, kita harus membuat 8 sebagai daftar 6 pasang. Indeks pertama kemudian akan melewati baris 6. Inilah cara kami membuat daftar bersarang Kami dapat mempersingkat segmen kode ini dengan memperkenalkan pemahaman daftar. Konstruksi ini melewati pasangan 2 dan 3, dan untuk setiap lintasan dalam loop kita membuat elemen daftar 6Subskrip 4 mengacu pada elemen kedua di 8, yang merupakan pasangan 6, sedangkan 7 adalah nilai 2 dan 9 adalah nilai 3. Gambar mengilustrasikan daftar kolom dan daftar pasangan. Dengan menggunakan gambar ini, Anda dapat menyadari bahwa indeks pertama mencari elemen di daftar terluar, dan elemen ini dapat diindeks dengan indeks kedua.Mencetak objekModul untuk cetakan objek yang cantikKami dapat menulis _1 untuk segera melihat daftar bersarang 8 dari bagian sebelumnya. Faktanya, objek Python apa pun _3 dapat dicetak ke layar dengan perintah 4. Outputnya biasanya satu baris, dan baris ini bisa menjadi sangat panjang jika daftarnya memiliki banyak elemen. Misalnya, daftar panjang seperti variabel _8 kami, membutuhkan garis yang cukup panjang saat dicetak
Memisahkan keluaran menjadi beberapa baris yang lebih pendek membuat tata letak lebih bagus dan lebih mudah dibaca. Modul _6 menawarkan fungsionalitas cetak yang cantik untuk tujuan ini. Penggunaan _6 terlihat seperti dan output yang sesuai menjadi Dengan dokumen ini muncul modul 6 yang sedikit dimodifikasi dengan nama 9. Modul ini memungkinkan kontrol format penuh pencetakan 0 objek dalam daftar dengan menentukan 1 sebagai string format printf. Contoh berikut menunjukkan bagaimana format keluaran bilangan real dapat diubah. Seperti yang bisa dilihat dari sesi ini, modul 6 menulis bilangan floating-point dengan banyak digit, bahkan begitu banyak sehingga kita secara eksplisit melihat kesalahan pembulatan. Banyak yang menganggap jenis keluaran ini mengganggu dan bahwa keluaran default dari modul 9 lebih seperti yang diinginkan dan diharapkanModul ________60______6 dan 9 juga memiliki fungsi 6, yang berfungsi sebagai fungsi 6, tetapi mengembalikan string yang diformat cantik alih-alih mencetak string Pernyataan 8 terakhir ini dicetak sama dengan 9Pencetakan manualBanyak yang akan berpendapat bahwa data tabular seperti yang disimpan dalam daftar 8 bersarang tidak dicetak dengan cara yang sangat cantik oleh modul 6. Orang lebih suka mengharapkan hasil yang cantik menjadi tabel dengan dua kolom yang disejajarkan dengan baik. Untuk menghasilkan keluaran seperti itu, kita perlu mengkodekan pemformatan secara manual. Ini cukup mudah. kita mengulang setiap baris, mengekstrak dua elemen 2 dan 3 di setiap baris, dan mencetaknya di bidang dengan lebar tetap menggunakan sintaks printf. Kode berjalan sebagai berikut
Mengekstrak sublistPython memiliki sintaks yang bagus untuk mengekstraksi bagian dari struktur daftar. Bagian seperti itu dikenal sebagai sublist atau irisan _4 adalah sublist yang dimulai dengan indeks 5 di 6 dan berlanjut hingga akhir 6
8 adalah sublist yang dimulai dengan indeks 5 di 6 dan berlanjut hingga dan termasuk indeks 1. Pastikan Anda ingat bahwa elemen yang sesuai dengan indeks 2 tidak termasuk dalam sublist. 0 3 adalah sublist yang dimulai dengan indeks 0 di 6 dan berlanjut hingga dan termasuk elemen dengan indeks 5. 1 6 mengekstrak semua elemen kecuali yang pertama dan terakhir (ingat bahwa indeks 7 mengacu pada elemen terakhir), dan 8 adalah seluruh daftar. _2Dalam daftar bersarang, kami dapat menggunakan irisan di indeks pertama, mis. g. , _3Kita juga bisa mengiris indeks kedua, atau kedua indeks. _4Perhatikan bahwa 9 membuat daftar 0 dengan tiga elemen. Slice 1 bekerja pada sublist ini dan memilih dua elemen pertamanya, dengan indeks 0 dan 1Subdaftar selalu merupakan salinan dari daftar asli, jadi jika Anda memodifikasi subdaftar, daftar asli tetap tidak berubah dan sebaliknya 5Fakta bahwa mengiris membuat salinan juga dapat diilustrasikan dengan kode berikut. 6Ekspresi boolean 2 adalah 3 jika semua elemen di 4 sama dengan elemen yang sesuai di 6. Tes _6 adalah 3 jika 6 dan 4 adalah nama untuk daftar yang sama. Pengaturan _00 membuat 2 merujuk ke objek daftar yang sama dengan 6, sementara 03 membuat 4 merujuk ke salinan daftar yang dirujuk oleh 6ContohKami mengakhiri informasi ini pada sublists dengan menulis bagian dari 8 daftar 6 baris (lihat bagian ) di mana derajat Celcius antara 10 dan 35 (tidak termasuk 35) 7Anda harus selalu berhenti membaca dan meyakinkan diri sendiri bahwa Anda memahami mengapa segmen kode menghasilkan keluaran cetak. Dalam contoh terakhir ini, _08 mengembalikan indeks yang sesuai dengan nilai 09 dalam daftar 9. Melihat elemen _9, seseorang menyadari (melakukannya. ) bahwa 12 perulangan setara dengan 8Perulangan ini berjalan di atas indeks \( 6, 7, \ldots, 10 \) di 8Melintasi daftar bersarangKita telah melihat bahwa melintasi daftar bersarang 8 dapat dilakukan dengan pengulangan bentuk _9Ini adalah kode alami ketika kita tahu bahwa 8 adalah daftar dari 6 daftar. Sekarang kita akan membahas daftar bersarang yang lebih umum di mana kita tidak perlu tahu berapa banyak elemen yang ada di setiap elemen daftar dari daftarMisalkan kita menggunakan daftar bersarang _17 untuk mencatat skor pemain dalam sebuah game. _18 memegang daftar skor historis yang diperoleh oleh pemain nomor 5. Pemain yang berbeda telah memainkan permainan dengan jumlah yang berbeda, jadi panjang 18 tergantung pada 5. Beberapa kode dapat membantu memperjelas ini 0Daftar 17 memiliki tiga elemen, setiap elemen sesuai dengan pemain. Elemen no. _23 dalam daftar 24 sesuai dengan skor yang diperoleh dalam permainan nomor 23 dimainkan oleh pemain nomor 26. Panjang daftar ________ 48 _______ 24 bervariasi dan sama dengan 4, 1, dan 8 untuk ________ 48_______26 masing-masing sama dengan 0, 1, dan 2Dalam kasus umum kami mungkin memiliki \( n \) pemain, dan beberapa mungkin telah memainkan permainan ini berkali-kali, membuat 17 berpotensi menjadi daftar bersarang yang besar. Bagaimana kita bisa melintasi daftar _17 dan menuliskannya dalam format tabel dengan kolom yang diformat dengan baik? . Misalnya, data yang diinisialisasi di atas dapat ditulis sebagai 1Dalam sebuah program, kita harus menggunakan dua loop bersarang, satu untuk elemen di 17 dan satu untuk elemen di sublists dari 17. Contoh di bawah ini akan memperjelasnyaAda dua cara dasar melintasi daftar bersarang. baik kita menggunakan indeks bilangan bulat untuk setiap indeks, atau kita menggunakan variabel untuk elemen daftar. Mari kita contohkan versi berbasis indeks 2Dengan tanda koma setelah string cetak, kami menghindari baris baru sehingga nilai kolom dalam tabel (i. e. , skor untuk satu pemain) muncul di baris yang sama. Perintah tunggal _8 setelah perulangan 34 menambahkan baris baru setelah setiap baris tabel. Pembaca didorong untuk melalui loop dengan tangan dan mensimulasikan apa yang terjadi di setiap pernyataan (gunakan daftar 17 sederhana yang diinisialisasi di atas)Versi alternatif tempat kami menggunakan variabel untuk mengulangi elemen dalam daftar 17 dan subdaftarnya terlihat seperti ini _3Sekali lagi, pembaca harus menelusuri kode dengan tangan dan menyadari apa nilai 37 dan 38 berada di setiap lintasan loopDalam kasus yang sangat umum, kami memiliki daftar bersarang dengan banyak indeks. _39. Untuk mengunjungi setiap elemen dalam daftar, kami menggunakan loop 12 bersarang sebanyak indeks. Dengan empat indeks, iterasi atas indeks bilangan bulat terlihat seperti
Bagaimana cara mengekstrak elemen dari daftar bersarang di Python?Hapus item dari Daftar Bersarang. Jika Anda mengetahui indeks item yang Anda inginkan, Anda dapat menggunakan metode pop() . Itu mengubah daftar dan mengembalikan item yang dihapus. Jika Anda tidak membutuhkan nilai yang dihapus, gunakan pernyataan del.
Bagaimana cara mengekstrak elemen dari daftar di dalam daftar Python?5 Cara Mudah Mengekstrak Elemen Dari Daftar Python . Ekstrak Elemen Dari Daftar Python Menggunakan Index. . Mencetak Item Dari Daftar Menggunakan Enumerate. . Menggunakan Loop untuk Mengekstrak Elemen Daftar. . Menggunakan Numpy Untuk Melihat Item Dari Daftar. . Ekstrak Elemen Menggunakan fungsi indeks Bagaimana cara memilih elemen dari daftar bersarang?Menggunakan metode index()
. Jika ada, temukan indeks sub_list dan indeks elemen dalam sub_list tersebut.
Bagaimana cara mengekstrak nilai dari daftar dengan Python?Berikut adalah 3 pendekatan untuk mengekstrak nilai kamus sebagai daftar dengan Python. . (1) Menggunakan fungsi list(). my_list = daftar(my_dict. nilai()) (2) Menggunakan Pemahaman Daftar. my_list = [i untuk i di my_dict. nilai()] (3) Menggunakan For Loop. my_list = [] untuk i di my_dict. nilai(). daftarku. tambahkan (i) |