Selamat datang kembali.
Mari kita lanjutkan dengan daftar sekarang.
Sejauh ini, tanda kurung siku, kita sudah pernah melihatnya, kan?
Kami melihatnya ketika bekerja dengan string dan seperti daftar string yang sangat mirip karena kami dapat menggunakan
pengirisan daftar.
Jika Anda ingat, dengan pengirisan string, kami memiliki hal-hal seperti halo dan kami dapat menetapkan ke dalam string, katakanlah string variabel,
dan kami dapat melakukan string dan kemudian mengiris.
Jadi lakukan sesuatu seperti ini.
Di mana kami memulai, berhenti dan kemudian melangkah sehingga kami memulai indeks nol dan berakhir pada
indeks dua.
Dan kemudian pergi satu per satu, jadi pengirisan daftar juga tersedia untuk kita, jadi mari kita buat troli ini sedikit lebih
besar dan Anda sebenarnya bisa membuat segalanya lebih bersih dengan memformatnya dengan cara ini.
Baiklah, jadi apa yang harus kita tambahkan ke keranjang kita?
Kami juga akan menambahkan beberapa mainan dan Anda tahu, Amazon menyediakan bahan makanan sekarang.
Jadi mari kita tambahkan beberapa buah anggur yang lezat.
Luar biasa.
Sekarang, katakanlah saya ingin mendapatkan setiap item di keranjang sementara kita hanya melakukan ini.
Dan kami memiliki seluruh daftar kami, tetapi mari kita gunakan beberapa pengirisan daftar, katakanlah saya ingin mengambil dari item
pertama ke item kedua jika saya mengklik run.
Saya mendapatkan buku catatan dan kacamata hitam.
Mungkin saya ingin melanjutkan sampai akhir, tetapi lewati setiap detik.
Saya mendapatkan buku catatan dan mainan.
Kami mulai dari nol.
Kami melangkah ke mainan dan kami melangkah dan selesai.
Luar biasa.
Dan ini adalah sesuatu yang telah kita lihat ketika berbicara dengan string.
Oke, tapi di sinilah menariknya.
Ingat bagaimana saya mengatakan bahwa string tidak dapat diubah.
Itu berarti kita tidak bisa mengubahnya.
Benar.
Dan kami membicarakan hal ini ketika kami memiliki string seperti halo, saya tidak bisa melakukan gret nol sama dengan, katakanlah
Z.
Saya akan mendapatkan kesalahan di sini.
Saya mendapatkan objek SDR tidak mendukung penugasan item.
Ini tidak berubah.
Tetapi hal yang menarik dengan daftar adalah bahwa mereka bisa berubah.
Sehingga jika saya mengganti keranjang Amazon saya.
Dan katakan bahwa, Anda tahu, saya tidak benar-benar menginginkan notebook jadi saya akan mengambil
item pertama, yaitu notebook dan bukannya notebook saya, apa yang kita inginkan?
Kami akan mengatakan kami ingin laptop baru.
Ini adalah peningkatan besar.
Saat saya mencetak kereta Amazon ini.
Lihat itu, saya dapat mengubah daftar ini.
Dan itu tidak memberi saya suasana dalam pengertian itu, daftar tidak dapat diubah, kami cukup mengganti di rak buku memori notebook
komputer kami dan saya berkata, hei, ubah ke laptop, dan mereka membiarkan kami melakukannya.
Oke, jadi itu luar biasa.
Tapi mari kita coba sesuatu di sini.
Bagaimana jika saya membuat cetakan lain di sini dan di keranjang Amazon, saya akan menggunakan list slicing katakanlah saya
ingin item dari indeks satu sampai indeks tiga.
Mari kita jalankan ini dan lihat apa yang terjadi.
Coba tebak.
Apakah itu yang Anda harapkan?
Mari kita melalui kode ini ketika kita sampai ke baris sepuluh, kita ambil gerobak Amazon, yang telah diperbarui dengan
laptop dan saya ambil item satu.
Dua, tiga, jadi itu kacamata hitam.
Untuk mainan, jadi nol satu dua, lalu kita berhenti di tiga.
Hanya untuk membuatnya lebih mudah dipahami, mari kita mulai dengan nol di sini.
Sehingga kita melihat bahwa laptop telah diubah.
Dan kemudian di sini di baris kedua, pada baris 11, kami mencetak kereta Amazon.
Tapi tunggu sebentar, daftar ini tidak berubah, dan itu karena dengan mengiris daftar, kita membuat daftar
baru, salinan baru dari daftar ini.
Jadi di sini kami membuat daftar yang sama sekali baru sehingga saya benar-benar dapat menetapkannya ke sebuah variabel.
Kereta baru akan menjadi kereta Amazon.
Dan mari kita lakukan hal yang sama di sini.
Dan Kaat Baru adalah daftar yang sama sekali baru, saya bisa mengganti kartu baru, katakanlah nol menjadi, katakanlah permen
karet.
Dan jika saya mencetak ini.
Anda melihat bahwa saya memiliki dua daftar baru yang terpisah, tetapi sebuah daftar dapat diubah karena saya dapat mengubah
apa pun yang ada di indeks kapan pun saya mau, dan setiap kali kami melakukan pengirisan daftar, kami membuat salinan baru dari daftar itu.
Tapi saya punya pertanyaan rumit untuk Anda di sini, apa yang terjadi jika saya hanya melakukan ini?
Jika saya menjalankan ini.
Hmm.
Apakah kamu melihat itu?
Alih-alih mengiris daftar saya, saya hanya mengatakan bahwa kartu baru akan sama dengan keranjang Amazon.
Dan saya mengubah indeks KAAT baru dari nol menjadi sama dengan Gump, tetapi sekarang keranjang Amazon saya juga dimodifikasi.
Mengapa demikian?
Dan ini adalah sedikit pertanyaan rumit yang mungkin Anda temui dalam sebuah wawancara.
Alasannya adalah saat ini, cara yang saya lakukan sama berarti, hei, kartu baru akan sama dengan kartu
Amazon.
Dan apa yang sama dengan keranjang Amazon?
Nah, Amazon cart menunjuk ke suatu tempat di memori di mesin kami yang mengatakan, hei, inilah cart
Amazon.
Jadi karena di sini kami tidak menyalin daftar.
Sebaliknya, kami hanya mengatakan, hei, nilai kartu baru adalah berapa pun yang ada di memori keranjang Amazon.
Kami sekarang, ketika kami memodifikasi Nikhat, hanya mengubah keranjang Amazon dari sini.
Jadi ini adalah konsep yang penting.
Jika Anda ingin, katakanlah, menyalin daftar, lalu Anda melakukan sesuatu seperti ini.
Di mana Anda menyalin seluruh daftar dan ini adalah sesuatu yang akan sering Anda lihat di basis kode.
Tapi baris ini mengatakan, hei, saya ingin membuat copy use list slicing untuk menyalin gerobak Amazon ini dan itu akan sama
dengan gerobak baru jadi sekarang jika saya menjalankan ini.
Anda akan melihat bahwa troli Amazon asli tetap sama, tetapi troli baru sekarang menjadi sesuatu yang berbeda.
Ini adalah gotcha cepat.
Mereka hanya perlu membiasakan diri, tetapi ini adalah konsep penting, gagasan menyalin versus memodifikasi daftar, dan ini
adalah sesuatu yang akan kita jelajahi lebih jauh di beberapa video berikutnya.
Untuk saat ini, istirahatlah dan saya akan melihat yang berikutnya.
Selamat tinggal.