Koleksi Di Python: Semua yang Perlu Anda Ketahui Mengenai Koleksi Python



Blog ini akan merangkumi jenis data koleksi terpasang di python bersama dengan modul koleksi dengan semua struktur data pengumpulan khusus.

Bahasa pengaturcaraan Python mempunyai empat jenis data pengumpulan- senarai , tuple, set dan . Tetapi juga dilengkapi dengan modul bawaan yang dikenali sebagai koleksi yang mempunyai struktur data khusus yang pada dasarnya meliputi kekurangan empat jenis data. Dalam blog ini, kita akan membahas setiap struktur data khusus tersebut secara terperinci. Berikut adalah subjek yang diselimuti blog ini:

Apakah Koleksi Di Python?

Koleksi dalam python pada dasarnya adalah jenis data kontena, iaitu senarai, set, tupel, kamus. Mereka mempunyai ciri-ciri yang berbeza berdasarkan deklarasi dan penggunaannya.





  • Senarai dinyatakan dalam tanda kurung persegi, dapat diubah, menyimpan nilai pendua dan elemen dapat diakses menggunakan indeks.

  • Tuple diatur dan tidak berubah sifatnya, walaupun entri pendua boleh ada di dalam tuple.



  • Satu set tidak tersusun dan dinyatakan dalam tanda kurung persegi. Ia tidak diindeks dan tidak mempunyai entri pendua juga.

  • Kamus mempunyai pasangan nilai utama dan boleh berubah. Kami menggunakan tanda kurung persegi untuk menyatakan kamus.

Ini adalah jenis data kontena bawaan tujuan umum python. Tetapi seperti yang kita semua tahu, python selalu mempunyai sesuatu yang lebih banyak untuk ditawarkan. Ia dilengkapi dengan modul python bernama koleksi yang mempunyai struktur data khusus.



Struktur Data Pengumpulan Khusus

Koleksi modul dalam python menerapkan struktur data khusus yang memberikan alternatif kepada jenis data kontena bawaan python. Berikut adalah struktur data khusus dalam modul koleksi.

  1. bernamatuple ()
  2. dan
  3. Peta Rantai
  4. Kaunter
  5. DiperintahkanDict
  6. keputusan ingkar
  7. Keputusan Pengguna
  8. Senarai Pengguna
  9. UserString

bernamatuple ()

Ia mengembalikan tuple dengan entri bernama, yang bermaksud akan ada nama yang diberikan untuk setiap nilai dalam tuple. Ia mengatasi masalah mengakses elemen menggunakan nilai indeks. Dengan bernamatuple () menjadi lebih mudah untuk mengakses nilai-nilai ini, kerana anda tidak perlu mengingat nilai indeks untuk mendapatkan elemen tertentu.

Bagaimana ia berfungsi?

Pertama sekali, anda mesti mengimport modul koleksi, ia tidak memerlukan pemasangan.

dari koleksi import bernamatuple

Lihat kod berikut untuk memahami bagaimana anda boleh menggunakan bernamatuple.

a = bernamatuple ('kursus', 'nama, teknologi') s = a ('sains data', 'python') cetak # outputnya akan menjadi kursus (nama = 'python', tech = 'python')

Bagaimana Membuat Tanda Nama Menggunakan Daftar?

s._make (['sains data', 'python']) #keluarannya akan sama seperti sebelumnya.

dan

deque disebut sebagai 'dek' adalah senarai yang dioptimumkan untuk melakukan penyisipan dan penghapusan dengan mudah.

Bagaimana ia berfungsi?

tetapkan windows classpath java 10
#creating deque dari koleksi import deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = deque (a) print (a1) # output akan deque (['' d ',' u ',' r ',' e ',' k '])

Sekarang mari kita lihat bagaimana kita akan memasukkan dan mengeluarkan barang dari deque.

a1.append ('a') print (a1) # outputnya akan deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') print (a1) # outputnya akan deque ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

Seperti yang harus jelas, memasukkan komponen ditingkatkan menggunakan deque, Anda juga dapat mengeluarkan komponen juga.

a1.pop () cetak (a1) #keluarannya akan deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1 # output akan menjadi deque (['d', 'u', 'r', 'e', ​​'k'])

Sama dengan jenis data terbina dalam, terdapat beberapa operasi lain yang dapat kita lakukan pada deque. Seperti menghitung unsur atau membersihkan deque dll.

Peta Rantai

Ini adalah kamus seperti kelas yang dapat membuat satu pandangan mengenai pelbagai pemetaan. Pada dasarnya mengembalikan senarai beberapa kamus lain. Andaikan anda mempunyai dua kamus dengan beberapa pasangan nilai kunci, dalam hal ini ChainMap akan membuat satu senarai dengan kedua-dua kamus di dalamnya.

Bagaimana ia berfungsi?

dari koleksi mengimport ChainMap a = {1: 'edureka', 2: 'python'} b = {3: 'science science', 4: 'Machine learning'} c = ChainMap (a, b) print (c) #the output akan menjadi ChainMap [{1: 'edureka', 2: 'python'}, {3: 'data science', 4: 'Machine learning'}]

Untuk mengakses atau memasukkan elemen, kami menggunakan kekunci sebagai indeks. Tetapi untuk menambah kamus baru di ChainMap kami menggunakan pendekatan berikut.

apa yang dilampirkan di java
a1 = {5: 'AI', 6: 'neural network'} c1 = c.new_child (a1) print (c1) # outputnya akan menjadi ChainMap [{1: 'edureka', 2: 'python'}, { 3: 'sains data', 4: 'Pembelajaran mesin'}, {5: 'AI', 6: 'rangkaian saraf'}]

Kaunter

Ini adalah subkelas kamus yang digunakan untuk mengira objek yang boleh dicuci.

Bagaimana ia berfungsi?

dari koleksi Kaunter import a = [1,1,1,1,2,3,3,4,3,3,4] c = Kaunter (a) cetak (c) #keluarannya akan Counter = ({1: 4, 2: 1, 3: 4, 4: 2})

Sebagai tambahan kepada operasi yang dapat anda lakukan pada kamus Counter mempunyai 3 operasi lagi yang dapat kami lakukan.

  1. fungsi elemen - Ia mengembalikan senarai yang mengandungi semua elemen di Kaunter.
  2. Most_common () - Ia mengembalikan senarai yang disusun dengan kiraan setiap elemen di Kaunter.
  3. Kurangkan () - Ia mengambil objek berulang sebagai argumen dan mengurangkan kiraan unsur-unsur dalam Pembilang.

DiperintahkanDict

Ini adalah subkelas kamus yang mengingat urutan penyertaannya. Pada dasarnya, walaupun anda menukar nilai kunci, kedudukannya tidak akan berubah kerana susunan di mana ia dimasukkan ke dalam kamus.

Bagaimana ia berfungsi?

dari koleksi import OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' dari [7] = 'a' print (from) #the output akan OrderedDict [(1, 'e'), (2, 'd'), (3, 'u'), (4, 'r'), (5, 'e'), (6, 'k'), (7, 'a')]

Tidak kira nilai apa yang dimasukkan ke dalam kamus, OrderedDict mengingati susunan di mana ia dimasukkan dan mendapat output dengan sewajarnya. Walaupun kita menukar nilai kunci. Katakan, jika kita menukar nilai kunci 4 hingga 8, pesanan tidak akan berubah dalam output.

keputusan ingkar

Ini adalah subkelas kamus yang memanggil fungsi kilang untuk memberikan nilai yang hilang. Secara amnya, ia tidak membuang kesalahan apabila nilai kunci yang hilang disebut dalam kamus.

Bagaimana ia berfungsi?

dari koleksi import defaultdict d = defaultdict (int) #kita harus menentukan jenis juga. d [1] = 'edureka' d [2] = 'cetakan' python '(d [3]) #it akan memberikan output sebagai 0 dan bukannya kesalahan kunci.

Keputusan Pengguna

Kelas ini bertindak sebagai pembungkus objek kamus. Keperluan untuk kelas ini datang dari keperluan untuk subkelas langsung dari dikt. Menjadi lebih mudah untuk bekerja dengan kelas ini kerana kamus yang mendasari menjadi sifat.

koleksi kelas.UserDict ([data awal])

Kelas ini mensimulasikan kamus. Isi contoh disimpan dalam kamus biasa yang dapat diakses dengan atribut 'data' dari UserDict kelas. Rujukan data awal tidak disimpan, untuk digunakan untuk tujuan lain.

Senarai Pengguna

Kelas ini bertindak seperti pembungkus di sekeliling objek senarai. Ini adalah kelas asas yang berguna untuk senarai lain seperti kelas yang boleh diwarisi dari mereka dan mengatasi kaedah yang ada atau bahkan menambah lebih sedikit yang baru juga.

Keperluan untuk kelas ini datang dari keperluan untuk subkelas langsung dari senarai. Menjadi lebih mudah untuk bekerja dengan kelas ini kerana senarai yang mendasari menjadi atribut.

koleksi kelas.UserList ([senarai])

Ini adalah kelas yang mensimulasikan senarai. Isi contoh disimpan dalam senarai biasa. Sub-kelas dari senarai itu diandalkan untuk menawarkan konstruktor yang boleh dipanggil dengan tidak ada atau satu pertengkaran.

Di blog ini, kami telah mengetahui struktur data khusus yang disertakan dengan modul koleksi di python. Pengoptimuman membawa kepada prestasi yang lebih baik dan hasil yang lebih baik. Begitu juga dengan kerjaya dan kemahiran kita sendiri. Sekiranya anda ingin memulakan pembelajaran anda dan mengoptimumkan cara anda memahami pengaturcaraan, daftarlah ke edureka dan melepaskan kemungkinan yang tidak berkesudahan dengan python.

Ada sebarang pertanyaan? sebutkan mereka dalam komen, dan kami akan menghubungi anda secepat mungkin.