Daftar ekstrak python dari daftar daftar

Daftar adalah kumpulan nilai yang dipesan. Nilai yang membentuk sebuah daftar disebut elemennya, atau itemnya. Kami akan menggunakan istilah elemen atau item untuk mengartikan hal yang sama. Daftar mirip dengan string, yang merupakan kumpulan karakter yang diurutkan, kecuali bahwa elemen daftar dapat bertipe apa saja. Daftar dan string — dan koleksi lain yang mempertahankan urutan itemnya — disebut urutan

11. 1. Daftar nilai

Ada beberapa cara untuk membuat daftar baru; . [ and ]):

1
2

ps = [10, 20, 30, 40]
qs = ["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 (hebatnya) daftar lainnya

1

zs = ["hello", 2.0, 5, [10, 20]]

Daftar di dalam daftar lain dikatakan bersarang

Akhirnya, daftar tanpa elemen disebut daftar kosong, dan dinotasikan [] .

Kita telah melihat bahwa kita dapat menetapkan nilai daftar ke variabel atau meneruskan daftar sebagai parameter ke fungsi

1
2
3
4
5
_

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []

11. 2. Mengakses elemen

Sintaks untuk mengakses elemen daftar sama dengan sintaks untuk mengakses karakter string — operator indeks. [] (jangan bingung dengan daftar kosong). Ekspresi di dalam tanda kurung menentukan indeks. Ingat bahwa indeks dimulai dari 0.

>>> numbers[0]
17
_

Ekspresi apa pun yang mengevaluasi bilangan bulat dapat digunakan sebagai indeks

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float

Jika Anda mencoba mengakses atau menetapkan ke elemen yang tidak ada, Anda akan mendapatkan kesalahan runtime

>>> numbers[2]
Traceback (most recent call last):
  File "", line 1, in 
IndexError: list index out of range
_

Adalah umum untuk menggunakan variabel loop sebagai indeks daftar

1
2
3
4
_

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_0

Setiap kali melewati perulangan, variabel i digunakan sebagai indeks ke dalam daftar, mencetak i‘th element. This pattern of computation is called a list traversal.

Contoh di atas tidak memerlukan atau menggunakan indeks i untuk apa pun selain mendapatkan item dari daftar, jadi ini versi yang lebih langsung . for loop gets the items — might be preferred:

1
2
3
4
_

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_2

11. 3. Panjang daftar

Fungsi len mengembalikan panjang daftar, yang sama dengan jumlah elemennya. Jika Anda akan menggunakan indeks bilangan bulat untuk mengakses daftar, ada baiknya menggunakan nilai ini sebagai batas atas loop, bukan konstanta. Dengan begitu, jika ukuran daftar berubah, Anda tidak perlu melalui program yang mengubah semua loop; .

1
2
3
4
_

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_4

Terakhir kali badan loop dieksekusi, i adalah len(penunggang kuda)< . (Tapi versi tanpa indeks terlihat lebih baik sekarang. ) - 1, which is the index of the last element. (But the version without the index looks even better now!)

Meskipun daftar dapat berisi daftar lain, daftar bersarang tetap dihitung sebagai elemen tunggal dalam daftar induknya. Panjang daftar ini adalah 4

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_5

11. 4. Daftar keanggotaan

di dan tidak di adalah operator Boolean yang menguji . Kami menggunakannya sebelumnya dengan string, tetapi mereka juga bekerja dengan daftar dan urutan lainnya.

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_6

Menggunakan ini menghasilkan versi yang lebih elegan dari program loop bersarang yang sebelumnya kami gunakan untuk menghitung jumlah siswa yang melakukan Ilmu Komputer di bagian

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_7

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_8

11. 5. Operasi daftar

Operator + menggabungkan daftar.

ps = [10, 20, 30, 40]
qs = ["spam", "bungee", "swallow"]
_9

Demikian pula, operator * mengulangi daftar beberapa kali.

1
0

Contoh pertama berulang [0] empat kali. Contoh kedua mengulangi daftar [1, 2, 3] tiga .

11. 6. Daftar irisan

Operasi irisan yang kita lihat sebelumnya dengan string memungkinkan kita bekerja dengan sublist

1
1

11. 7. Daftar dapat berubah

Tidak seperti string, daftar dapat diubah, yang berarti kita dapat mengubah elemennya. Dengan menggunakan operator indeks di sebelah kiri tugas, kita dapat memperbarui salah satu elemen

1
2

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:

1
_3

tapi itu untuk daftar

1
_4

Dengan operator slice kita dapat mengupdate seluruh sublist sekaligus

1
5

Kami juga dapat menghapus elemen dari daftar dengan menetapkan daftar kosong untuk mereka

1
6

Dan kita bisa menambahkan elemen ke daftar dengan meremasnya menjadi irisan kosong di lokasi yang diinginkan

1
7

11. 8. Penghapusan daftar

Menggunakan irisan untuk menghapus elemen daftar bisa rawan kesalahan. Python memberikan alternatif yang lebih mudah dibaca. Pernyataan del menghapus elemen dari daftar.

1
_8

Seperti yang Anda duga, del menyebabkan kesalahan runtime jika indeks berada di luar jangkauan.

Anda juga dapat menggunakan del dengan irisan untuk menghapus subdaftar.

1
_9

Seperti biasa, sublist yang dipilih oleh slice berisi semua elemen hingga, namun tidak termasuk, indeks kedua

11. 9. Objek dan referensi

Setelah kami menjalankan pernyataan penugasan ini

1
2

zs = ["hello", 2.0, 5, [10, 20]]
1

kita tahu bahwa a dan b akan merujuk ke . Tapi kami belum tahu apakah mereka menunjuk ke objek string yang sama. "banana". But we don’t know yet whether they point to the same string object.

Ada dua cara yang memungkinkan juru bahasa Python dapat mengatur memorinya

Daftar ekstrak python dari daftar daftar

Dalam satu kasus, a dan b lihat . Dalam kasus kedua, mereka merujuk ke objek yang sama.

Kita dapat menguji apakah dua nama merujuk ke objek yang sama menggunakan operator is .

zs = ["hello", 2.0, 5, [10, 20]]
2

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

zs = ["hello", 2.0, 5, [10, 20]]
_3

Cuplikan keadaan di sini terlihat seperti ini

Daftar ekstrak python dari daftar daftar

a dan b memiliki nilai yang sama tetapi tidak merujuk ke objek yang sama.

11. 10. Aliasing

Karena variabel merujuk ke objek, jika kita menugaskan satu variabel ke variabel lain, kedua variabel merujuk ke objek yang sama

zs = ["hello", 2.0, 5, [10, 20]]
_4

Dalam hal ini, snapshot keadaan terlihat seperti ini

Daftar ekstrak python dari daftar daftar

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:

zs = ["hello", 2.0, 5, [10, 20]]
5

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 (mis. e. daftar pada saat ini di buku teks kami, tetapi kami akan menemukan lebih banyak objek yang bisa berubah saat kami membahas kelas dan objek, kamus, dan set). Tentu saja, untuk objek yang tidak dapat diubah (mis. e. string, tupel), tidak ada masalah — hanya saja tidak mungkin mengubah sesuatu dan mendapat kejutan saat Anda mengakses nama alias. Itu sebabnya Python bebas untuk string alias (dan jenis data lain yang tidak dapat diubah) ketika melihat peluang untuk menghemat

11. 11. Daftar kloning

Jika 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

zs = ["hello", 2.0, 5, [10, 20]]
6

Mengambil potongan apa pun dari a membuat daftar baru. Dalam hal ini potongan tersebut terdiri dari seluruh daftar. Jadi sekarang hubungannya seperti ini.

Daftar ekstrak python dari daftar daftar

Kini kami bebas melakukan perubahan pada b tanpa khawatir bahwa kami akan mengubah secara tidak sengaja . :

zs = ["hello", 2.0, 5, [10, 20]]
_7

11. 12. Daftar dan for loop

Perulangan untuk juga berfungsi dengan daftar, seperti yang telah kita lihat. Sintaks umum dari loop for adalah.

zs = ["hello", 2.0, 5, [10, 20]]
8

Jadi, seperti yang telah kita lihat

zs = ["hello", 2.0, 5, [10, 20]]
_9

1
2
3
4
5
_0

Hampir terbaca seperti bahasa Inggris. Untuk (setiap) teman di (daftar) teman, cetak (nama) teman

Ekspresi daftar apa pun dapat digunakan dalam loop for .

1
2
3
4
5
_1

1
2
3
4
5
_2

Contoh pertama mencetak semua kelipatan 3 antara 0 dan 19. Contoh kedua mengungkapkan antusiasme terhadap berbagai buah

Karena daftar bisa berubah, kita sering ingin melintasi daftar, mengubah setiap elemennya. Kuadrat berikut adalah semua angka dalam daftar xs .

1
2
3
4
_

1
2
3
4
5
_4

Luangkan waktu sejenak untuk memikirkan tentang range(len(xs)) hingga Anda memahami cara kerjanya.

Dalam contoh ini kita tertarik pada nilai item, (kita ingin mengkuadratkan nilai tersebut), dan indeksnya (sehingga kita dapat menetapkan nilai baru ke posisi tersebut). Pola ini cukup umum sehingga Python menyediakan cara yang lebih bagus untuk mengimplementasikannya

1
2
3
4
_

1
2
3
4
5
_6

enumerate menghasilkan pasangan keduanya (indeks, nilai) selama penjelajahan daftar. Coba contoh berikut ini untuk melihat lebih jelas cara kerja enumerate .

1
2

1
2
3
4
5
_8

1
2
3
4
5
_9

11. 13. Daftar parameter

Melewati daftar sebagai argumen sebenarnya meneruskan referensi ke daftar, bukan salinan atau tiruan dari daftar. Jadi parameter passing membuat alias untuk Anda. pemanggil memiliki satu variabel yang mereferensikan daftar, dan fungsi yang dipanggil memiliki alias, tetapi hanya ada satu objek daftar yang mendasarinya. Misalnya, fungsi di bawah mengambil daftar sebagai argumen dan mengalikan setiap elemen dalam daftar dengan 2

1
2
3
4
_

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
1

Jika kami menambahkan yang berikut ke dalam skrip Anda

zs = ["hello", 2.0, 5, [10, 20]]
_9

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_3

Saat kami menjalankannya, kami akan mendapatkannya

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_4

Pada fungsi di atas, parameter a_list dan variabel things are aliases for the same object. So before any changes to the elements in the list, the state snapshot looks like this:

Daftar ekstrak python dari daftar daftar

Karena objek daftar dibagi oleh dua bingkai, kami menggambarnya di antara keduanya

Jika suatu fungsi mengubah item parameter daftar, pemanggil akan melihat perubahannya

Gunakan visualisator Python

Kami telah menyebutkan visualizer Python di http. //netserv. ik. ru. ac. za/python3_viz. Ini adalah alat yang sangat berguna untuk membangun pemahaman yang baik tentang referensi, alias, penugasan, dan meneruskan argumen ke fungsi. Berikan perhatian khusus pada kasus di mana Anda mengkloning daftar atau memiliki dua daftar terpisah, dan kasus di mana hanya ada satu daftar yang mendasari, tetapi lebih dari satu variabel alias untuk referensi daftar

11. 14. Daftar metode

Operator titik juga dapat digunakan untuk mengakses metode bawaan dari objek daftar. Kami akan mulai dengan metode yang paling berguna untuk menambahkan sesuatu ke akhir daftar yang sudah ada

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
5

append adalah metode daftar yang menambahkan argumen yang diteruskan ke akhir daftar. Kami akan sering menggunakannya saat membuat daftar baru. Melanjutkan contoh ini, kami menunjukkan beberapa metode daftar lainnya.

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_6

Bereksperimen dan mainkan dengan metode daftar yang ditampilkan di sini, dan baca dokumentasinya sampai Anda merasa yakin bahwa Anda memahami cara kerjanya

11. 15. Fungsi dan pengubah murni

Fungsi 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.

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_7

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_8

Versi double_stuff ini tidak mengubah argumennya.

>>> vocabulary = ["apple", "cheese", "dog"]
>>> numbers = [17, 123]
>>> an_empty_list = []
>>> print(vocabulary, numbers, an_empty_list)
["apple", "cheese", "dog"] [17, 123] []
_9

Aturan awal yang kami lihat untuk penugasan mengatakan "pertama evaluasi sisi kanan, lalu berikan nilai yang dihasilkan ke variabel". Jadi cukup aman untuk menetapkan hasil fungsi ke variabel yang sama yang diteruskan ke fungsi

>>> numbers[0]
17
_0

Gaya 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

11. 16. Fungsi yang menghasilkan daftar

Versi murni double_stuff di atas memanfaatkan pola penting untuk kotak alat Anda. Setiap kali Anda perlu menulis fungsi yang membuat dan mengembalikan daftar, biasanya polanya adalah.

1
2
3
4
5
_

>>> numbers[0]
17
_2

Mari kita tunjukkan penggunaan lain dari pola ini. Asumsikan Anda sudah memiliki fungsi is_prime(x) yang dapat menguji apakah x prima. Tulis fungsi untuk mengembalikan daftar semua bilangan prima kurang dari n.

>>> numbers[0]
17
_3

>>> numbers[0]
17
_4

11. 17. String dan daftar

Dua metode yang paling berguna pada string melibatkan konversi ke dan dari daftar substring. Metode split (yang telah kita lihat) memecah string menjadi daftar kata. Secara default, sejumlah karakter spasi dianggap sebagai batas kata.

>>> numbers[0]
17
_5

Argumen opsional yang disebut pembatas dapat digunakan untuk menentukan string mana yang akan digunakan sebagai penanda batas antara substring. Contoh berikut menggunakan string ai sebagai pembatas.

>>> numbers[0]
17
_6

Perhatikan bahwa pembatas tidak muncul di hasil

Kebalikan dari metode split adalah join . Anda memilih string pemisah yang diinginkan, (sering disebut lem) dan menggabungkan daftar dengan lem di antara masing-masing elemen.

>>> numbers[0]
17
_7

Daftar yang Anda rekatkan ( wds dalam contoh ini) tidak diubah. Selain itu, seperti yang diperlihatkan contoh berikut ini, Anda dapat menggunakan lem kosong atau string multi-karakter sebagai lem.

>>> numbers[0]
17
_8

11. 18. daftar dan rentang

Python memiliki fungsi konversi tipe bawaan yang disebut daftar yang mencoba mengubah apa pun yang Anda berikan ke dalam daftar.

>>> numbers[0]
17
_9

Satu fitur khusus dari rentang adalah tidak langsung menghitung semua nilainya. itu "menunda" perhitungan, dan melakukannya sesuai permintaan, atau "malas". Kami akan mengatakan bahwa itu memberikan janji untuk menghasilkan nilai saat dibutuhkan. Ini sangat nyaman jika perhitungan Anda membuat pencarian menjadi pendek dan kembali lebih awal, seperti dalam kasus ini.

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
0

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
1

Dalam pengujian kedua, jika range sangat ingin membuat daftar dengan semua elemen tersebut, Anda akan segera menghabiskan memori komputer yang tersedia dan merusak program. Tapi itu lebih pintar dari itu. Komputasi ini berfungsi dengan baik, karena objek range hanyalah janji untuk menghasilkan elemen jika dan saat dibutuhkan. Setelah kondisi di if menjadi benar, tidak ada lagi elemen yang dihasilkan, dan fungsi kembali. (Catatan. Sebelum Python 3, range tidak malas. Jika Anda menggunakan versi Python sebelumnya, YMMV. )

YMMV. Jarak Tempuh Anda Mungkin Bervariasi

Singkatan YMMV singkatan jarak tempuh Anda mungkin berbeda. Iklan mobil Amerika sering mengutip angka konsumsi bahan bakar untuk mobil, mis. g. bahwa mereka akan mendapatkan 28 mil per galon. Tapi ini selalu harus disertai dengan peringatan kecil-kecilan hukum kepada pembaca bahwa mereka mungkin tidak mendapatkan hal yang sama. Istilah YMMV sekarang digunakan secara idiomatis yang berarti "hasil Anda mungkin berbeda", mis. g. Masa pakai baterai ponsel ini adalah 3 hari, tetapi YMMV

Terkadang Anda akan menemukan rentang malas terbungkus dalam panggilan ke daftar. This forces Python to turn the lazy promise into an actual list:

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
2

11. 19. Daftar bersarang

Daftar bersarang adalah daftar yang muncul sebagai elemen dalam daftar lain. Dalam daftar ini, elemen dengan indeks 3 adalah daftar bersarang

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
3

Jika kita mengeluarkan elemen pada indeks 3, kita dapatkan

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
4

Untuk mengekstrak elemen dari daftar bersarang, kita dapat melanjutkan dalam dua langkah

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
5

Atau kita bisa menggabungkannya

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
6

Operator braket mengevaluasi dari kiri ke kanan, jadi ekspresi ini mendapatkan elemen ke-3 dari bersarang dan mengekstrak elemen ke-1 dari .

11. 20. Matriks

Daftar bersarang sering digunakan untuk mewakili matriks. Misalnya matriks

Daftar ekstrak python dari daftar daftar

mungkin direpresentasikan sebagai

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
7

mx 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]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
_8

Atau kita dapat mengekstrak satu elemen dari matriks menggunakan bentuk indeks ganda

>>> numbers[9-8]
5
>>> numbers[1.0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: list indices must be integers, not float
_9

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

11. 21. Glosarium

aliasesBeberapa 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. Disebut juga barang. nilai data yang tidak dapat diubah Nilai data yang tidak dapat dimodifikasi. Penugasan ke elemen atau irisan (sub-bagian) dari nilai yang tidak dapat diubah menyebabkan kesalahan runtime. indeksNilai bilangan bulat yang menunjukkan posisi item dalam daftar. Indeks dimulai dari 0. itemLihat elemen. listKumpulan nilai, masing-masing dalam posisi tetap dalam daftar. Seperti jenis lainnya str , int , float, etc. there is also a daftar fungsi pengonversi tipe yang mencoba mengubah argumen apa pun yang Anda berikan ke dalam daftar. 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. nilai data yang dapat berubahSebuah nilai data yang dapat dimodifikasi. Jenis dari semua nilai yang dapat diubah adalah jenis majemuk. Daftar dan kamus dapat berubah; . daftar bersarangSebuah daftar yang merupakan elemen dari daftar lain. objectSebuah hal yang dapat dirujuk oleh variabel. patternUrutan pernyataan, atau gaya pengkodean sesuatu yang memiliki penerapan umum dalam sejumlah situasi yang berbeda. Bagian dari menjadi Ilmuwan Komputer yang matang adalah mempelajari dan menetapkan pola dan algoritme yang membentuk perangkat Anda. Pola sering kali sesuai dengan "mental chunking" Anda. promiseSebuah objek yang menjanjikan untuk melakukan beberapa pekerjaan atau memberikan beberapa nilai jika pada akhirnya dibutuhkan, tetapi dengan malas menunda melakukan pekerjaan dengan segera. Memanggil range menghasilkan sebuah promise. 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 yang terurut, dengan setiap elemen diidentifikasi oleh indeks. efek sampingS perubahan status program yang dilakukan dengan memanggil suatu fungsi. 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.

11. 22. Latihan

  1. Apa tanggapan juru bahasa Python terhadap yang berikut ini?

    >>> numbers[2]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list index out of range
    
    _0

    Tiga argumen untuk fungsi range adalah start, stop, dan step. Dalam contoh ini, mulai lebih besar dari berhenti . Apa yang terjadi jika mulai < berhenti dan step < 0? Write a rule for the relationships among start, stop, and step.

  2. Pertimbangkan fragmen kode ini

    1
    2
    3
    4
    5
    _

    >>> numbers[2]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list index out of range
    
    _2

    Apakah fragmen ini membuat satu atau dua instance turtle? . alex also change the color of tess? Explain in detail.

  3. Gambarlah snapshot status untuk a dan b sebelumnya .

    zs = ["hello", 2.0, 5, [10, 20]]
    
    _9

    >>> numbers[2]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list index out of range
    
    _4

  4. Apa yang akan menjadi output dari program berikut?

    1
    2
    3
    4
    5
    _

    >>> numbers[2]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list index out of range
    
    _6

    Berikan penjelasan rinci tentang hasil

  5. Daftar dapat digunakan untuk merepresentasikan vektor matematika. Dalam latihan ini dan beberapa latihan berikutnya, Anda akan menulis fungsi untuk melakukan operasi standar pada vektor. Buat skrip bernama vektor. py dan tulis kode Python untuk lulus tes di setiap kasus.

    Tulis fungsi add_vectors(u, v) yang mengambil dua daftar angka yang sama .

    zs = ["hello", 2.0, 5, [10, 20]]
    
    _9

    >>> numbers[2]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list index out of range
    
    _8

  6. Tulis fungsi scalar_mult(s, v) yang membutuhkan angka, s, and a list, v and returns the scalar multiple of v by s. :

    zs = ["hello", 2.0, 5, [10, 20]]
    
    _9

    1
    2
    3
    4
    _0

  7. Tulis fungsi dot_product(u, v) yang mengambil dua daftar angka yang sama .

    zs = ["hello", 2.0, 5, [10, 20]]
    
    _9

    1
    2
    3
    4
    _2

  8. Tantangan ekstra untuk yang cenderung matematis. Tulis fungsi cross_product(u, v) yang mengambil dua daftar bilangan dengan panjang 3 dan mengembalikan perkalian silangnya. Anda harus menulis tes Anda sendiri.

  9. Jelaskan hubungan antara " ". bergabung (lagu. split()) dan lagu pada penggalan kode di bawah ini. Apakah sama untuk semua string yang ditetapkan ke lagu ?

    1

    1
    2
    3
    4
    _4

  10. Tulis fungsi ganti, lama, baru) that replaces all occurrences of old with new in a string s:

    1
    2
    3
    4
    _5

    1
    2
    3
    4
    _6

    Petunjuk. gunakan metode split dan join .

  11. Misalkan Anda ingin menukar nilai dalam dua variabel. Anda memutuskan untuk memfaktorkannya menjadi fungsi yang dapat digunakan kembali, dan menulis kode ini

    Bagaimana cara mengekstrak daftar dari daftar dengan Python?

    6 Cara Mudah untuk Mengekstrak Elemen Dari Daftar Python .
    Metode 1. Gunakan Mengiris
    Metode 2. Gunakan Indeks Daftar
    Metode 3. Gunakan Pemahaman Daftar
    Metode 4. Gunakan Daftar Pemahaman dengan kondisi
    Metode 5. Gunakan menghitung()
    Metode 6. Gunakan larik NumPy()

    Bagaimana cara mengekstrak banyak elemen dari daftar dengan 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 mengonversi daftar daftar menjadi satu daftar?

    Dalam artikel ini, kami akan membahas 5 pendekatan berbeda untuk mendatar daftar daftar. .
    Menggunakan loop bersarang
    Menggunakan pemahaman daftar
    Menggunakan rekursi
    Menggunakan modul NumPy

    Bagaimana cara mendapatkan sublist dari daftar dengan Python?

    Langkah 1. diberi daftar. Langkah 2. ambil satu sublist yang awalnya kosong. Langkah 3. gunakan satu untuk loop hingga panjang daftar yang diberikan. Langkah 4. Jalankan loop dari i+1 hingga panjang daftar untuk mendapatkan semua sub array dari i ke kanannya