Kami telah melihat tipe sederhana Python. [2, 3, 5, 7, 11, 13, 17, 19]2, [2, 3, 5, 7, 11, 13, 17, 19]3, [2, 3, 5, 7, 11, 13, 17, 19]4, [2, 3, 5, 7, 11, 13, 17, 19]5, [2, 3, 5, 7, 11, 13, 17, 19]6, dan seterusnya. Python juga memiliki beberapa tipe gabungan bawaan, yang berfungsi sebagai wadah untuk tipe lainnya. Jenis senyawa ini adalah Show [2, 3, 5, 7, 11, 13, 17, 19]7 [2, 3, 5, 7, 11, 13, 17, 19]8Ordered collection [2, 3, 5, 7, 11, 13, 17, 19]9 # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L0Immutable ordered collection # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L1 # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L2Unordered (key,value) mapping # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L3 # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L4Unordered collection of unique values Seperti yang Anda lihat, tanda kurung bulat, persegi, dan keriting memiliki arti yang berbeda dalam hal jenis koleksi yang dihasilkan. Kami akan melakukan tur singkat tentang struktur data ini di sini DaftarDaftar adalah tipe pengumpulan data yang dipesan dan dapat diubah dalam Python. Mereka dapat didefinisikan dengan nilai yang dipisahkan koma di antara tanda kurung siku; Dalam [1] L = [2, 3, 5, 7] Daftar memiliki sejumlah properti dan metode berguna yang tersedia untuk mereka. Di sini kita akan melihat sekilas beberapa yang lebih umum dan berguna Di [2] # Length of a list len(L) Keluar[2] 4 Dalam [3] # Append a value to the end L.append(11) L Keluar[3] [2, 3, 5, 7, 11] Di [4] # Addition concatenates lists L + [13, 17, 19] Keluar[4] [2, 3, 5, 7, 11, 13, 17, 19] Dalam [5] # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L_ Keluar[5] [1, 2, 3, 4, 5, 6] Selain itu, masih banyak lagi metode daftar bawaan; Sementara kami telah mendemonstrasikan daftar yang berisi nilai dari satu jenis, salah satu fitur hebat dari objek gabungan Python adalah bahwa mereka dapat berisi objek dari jenis apa pun, atau bahkan campuran jenis. Sebagai contoh Di [6] L = [1, 'two', 3.14, [0, 3, 5]] Fleksibilitas ini merupakan konsekuensi dari sistem tipe dinamis Python. Membuat urutan campuran seperti itu dalam bahasa yang diketik secara statis seperti C bisa lebih memusingkan. Kami melihat bahwa daftar bahkan dapat berisi daftar lain sebagai elemen. Fleksibilitas tipe seperti itu adalah bagian penting dari apa yang membuat kode Python relatif cepat dan mudah untuk ditulis Sejauh ini kami telah mempertimbangkan manipulasi daftar secara keseluruhan; . Ini dilakukan dengan Python melalui pengindeksan dan pemotongan, yang akan kita jelajahi selanjutnya Daftar pengindeksan dan pemotonganPython menyediakan akses ke elemen dalam tipe gabungan melalui pengindeksan untuk elemen tunggal, dan pemotongan untuk beberapa elemen. Seperti yang akan kita lihat, keduanya ditunjukkan dengan sintaks kurung siku. Misalkan kita kembali ke daftar beberapa bilangan prima pertama kita Di [7] # Length of a list len(L)_0 Python menggunakan pengindeksan berbasis nol, sehingga kita dapat mengakses elemen pertama dan kedua menggunakan sintaks berikut Di [8] # Length of a list len(L)_1 Keluar[8] # Length of a list len(L)_2 Dalam [9] # Length of a list len(L)_3 Keluar[9] # Length of a list len(L)_4 Elemen di akhir daftar dapat diakses dengan angka negatif, mulai dari -1 Di [10] # Length of a list len(L)_5 Keluar[10] # Length of a list len(L)_6 Di [11] # Length of a list len(L)_7 Keluar[11] # Length of a list len(L)_8 Anda dapat memvisualisasikan skema pengindeksan ini dengan cara ini Di sini nilai dalam daftar diwakili oleh angka besar dalam kotak; . Dalam hal ini, # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L5 mengembalikan # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L6, karena itu adalah nilai berikutnya pada indeks # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L7 Di mana pengindeksan adalah cara untuk mengambil satu nilai dari daftar, mengiris adalah cara untuk mengakses beberapa nilai dalam sub-daftar. Ini menggunakan titik dua untuk menunjukkan titik awal (inklusif) dan titik akhir (non-inklusif) dari sub-array. Misalnya, untuk mendapatkan tiga elemen pertama dari daftar, kita bisa menulis Dalam [12] # Length of a list len(L)_9 Keluar[12] 40 Perhatikan di mana # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L8 dan # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L9 terletak pada diagram sebelumnya, dan bagaimana irisan hanya mengambil nilai di antara indeks. Jika kita mengabaikan indeks pertama, # sort() method sorts in-place L = [2, 5, 1, 6, 3, 4] L.sort() L8 diasumsikan, sehingga kita dapat menulis secara ekuivalen Di [13] 41 Keluar[13] 40 Demikian pula, jika kita mengabaikan indeks terakhir, standarnya adalah panjang daftar. Dengan demikian, tiga elemen terakhir dapat diakses sebagai berikut Dalam [14] 4_3 Keluar[14] 44 Terakhir, dimungkinkan untuk menentukan bilangan bulat ketiga yang mewakili ukuran langkah; Dalam [15] 45 Keluar[15] 46 Versi yang sangat berguna dari ini adalah untuk menentukan langkah negatif, yang akan membalikkan larik Dalam [16] 47 Keluar[16] 48 Pengindeksan dan pemotongan dapat digunakan untuk mengatur elemen serta mengaksesnya. Sintaksnya seperti yang Anda harapkan Dalam [17] 4_9 # Append a value to the end L.append(11) L_0 Dalam [18] # Append a value to the end L.append(11) L_1 # Append a value to the end L.append(11) L_2 Sintaks pemotongan yang sangat mirip juga digunakan di banyak paket berorientasi ilmu data, termasuk NumPy dan Pandas (disebutkan dalam pendahuluan) Sekarang kita telah melihat daftar Python dan cara mengakses elemen dalam tipe gabungan terurut, mari kita lihat tiga tipe data gabungan standar lainnya yang disebutkan sebelumnya TupelTupel dalam banyak hal mirip dengan daftar, tetapi mereka didefinisikan dengan tanda kurung daripada tanda kurung siku Dalam [19] # Append a value to the end L.append(11) L_3 Mereka juga dapat didefinisikan tanpa tanda kurung sama sekali Dalam [20] # Append a value to the end L.append(11) L_4 # Append a value to the end L.append(11) L_5 Seperti daftar yang dibahas sebelumnya, tupel memiliki panjang, dan elemen individual dapat diekstraksi menggunakan pengindeksan kurung siku Dalam [21] # Append a value to the end L.append(11) L_6 Keluar[21] # Length of a list len(L)_4 Di [22] # Append a value to the end L.append(11) L_8 Keluar[22] # Append a value to the end L.append(11) L_9 Fitur pembeda utama dari tuple adalah bahwa mereka tidak dapat diubah. ini berarti setelah dibuat, ukuran dan isinya tidak dapat diubah Dalam [23] [2, 3, 5, 7, 11]0 [2, 3, 5, 7, 11]1 Di [24] [2, 3, 5, 7, 11]2 [2, 3, 5, 7, 11]3 Tuple sering digunakan dalam program Python; . Misalnya, metode [1, 2, 3, 4, 5, 6]_1 objek titik-mengambang mengembalikan pembilang dan penyebut; Di [25] [2, 3, 5, 7, 11]_4 Keluar[25] [2, 3, 5, 7, 11]5 Beberapa nilai pengembalian ini dapat ditetapkan secara individual sebagai berikut Dalam [26] [2, 3, 5, 7, 11]6 [2, 3, 5, 7, 11]7 Logika pengindeksan dan pemotongan yang dibahas sebelumnya untuk daftar juga berfungsi untuk tupel, bersama dengan sejumlah metode lainnya. Lihat dokumentasi Python online untuk daftar yang lebih lengkap KamusKamus adalah pemetaan kunci nilai yang sangat fleksibel, dan membentuk dasar dari banyak implementasi internal Python. Mereka dapat dibuat melalui daftar yang dipisahkan koma dari [1, 2, 3, 4, 5, 6]2 pasangan dalam kurung kurawal Di [27] [2, 3, 5, 7, 11]8 Item diakses dan diatur melalui sintaks pengindeksan yang digunakan untuk daftar dan tupel, kecuali di sini indeks bukanlah urutan berbasis nol tetapi kunci yang valid dalam kamus Dalam [28] [2, 3, 5, 7, 11]_9 Keluar[28] # Length of a list len(L)_2 Item baru dapat ditambahkan ke kamus menggunakan pengindeksan juga Di [29] # Addition concatenates lists L + [13, 17, 19]_1 # Addition concatenates lists L + [13, 17, 19]_2 Perlu diingat bahwa kamus tidak mempertahankan urutan apa pun untuk parameter masukan; . Kurangnya urutan ini memungkinkan kamus diimplementasikan dengan sangat efisien, sehingga akses elemen acak sangat cepat, terlepas dari ukuran kamus (jika Anda ingin tahu cara kerjanya, baca tentang konsep tabel hash). Dokumentasi python memiliki daftar lengkap metode yang tersedia untuk kamus SetKumpulan dasar keempat adalah himpunan, yang berisi kumpulan barang-barang unik yang tidak terurut. Mereka didefinisikan seperti daftar dan tupel, kecuali mereka menggunakan kurung kurawal kamus Di [30] # Addition concatenates lists L + [13, 17, 19]_3 Jika Anda terbiasa dengan matematika himpunan, Anda akan terbiasa dengan operasi seperti gabungan, irisan, selisih, selisih simetris, dan lain-lain. Set Python memiliki semua operasi ini di dalamnya, melalui metode atau operator. Untuk masing-masing, kami akan menunjukkan dua metode yang setara Dalam [31] # Addition concatenates lists L + [13, 17, 19]_4 Keluar[31] # Addition concatenates lists L + [13, 17, 19]_5 Dalam [32] # Addition concatenates lists L + [13, 17, 19]_6 Keluar[32] # Addition concatenates lists L + [13, 17, 19]_7 Dalam [33] # Addition concatenates lists L + [13, 17, 19]_8 Keluar[33] # Addition concatenates lists L + [13, 17, 19]_9 Dalam [34] [2, 3, 5, 7, 11, 13, 17, 19]0 Keluar[34] [2, 3, 5, 7, 11, 13, 17, 19]_1 Lebih banyak metode dan operasi set yang tersedia. Anda mungkin sudah menebak apa yang akan saya katakan selanjutnya. lihat dokumentasi online Python untuk referensi lengkap Lebih Struktur Data KhususPython berisi beberapa struktur data lain yang mungkin berguna bagi Anda; . Modul koleksi didokumentasikan sepenuhnya dalam dokumentasi online Python, dan Anda dapat membaca lebih lanjut tentang berbagai objek yang tersedia di sana Secara khusus, saya menemukan yang berikut ini sangat berguna pada kesempatan tertentu
Setelah Anda melihat tipe koleksi bawaan standar, penggunaan fungsionalitas yang diperluas ini sangat intuitif, dan saya sarankan membaca tentang penggunaannya Apa saja 4 struktur data tersebut?Ketika kita berpikir tentang struktur data, umumnya ada empat bentuk. Linear. larik, daftar . Pohon. biner, tumpukan, partisi ruang dll. Hash. tabel hash terdistribusi, pohon hash dll.
Struktur data apa yang digunakan dalam Python?Struktur Data Python Umum (Panduan) . daftar. Array Dinamis yang Dapat Diubah tupel. Kontainer yang tidak dapat diubah Himpunan. Himpunan. Array Berketik Dasar str. Array Karakter Unicode yang Tidak Dapat Diubah byte. Array Byte Tunggal yang Tidak Dapat Diubah bytearray. Array yang Dapat Diubah dari Single Byte Array dengan Python. Ringkasan Berapa banyak struktur data yang dimiliki Python?Python memiliki empat struktur data utama yang terbagi antara tipe yang dapat diubah (daftar, kamus, dan set) dan tidak dapat diubah (tupel).
Apa itu struktur data bawaan?Ini adalah kumpulan objek yang tidak terurut tanpa duplikat . Ini dapat dilakukan dengan melampirkan semua elemen di dalam kurung kurawal. Kami juga dapat membentuk set dengan menggunakan pengecoran tipe melalui kata kunci "set". Elemen dari kumpulan harus dari tipe data yang tidak dapat diubah. Set tidak mendukung pengindeksan, pemotongan, penggabungan, dan replikasi. |