Ketahui Struktur Data Senarai Python - Bahagian 1

Ketahui Struktur Data Senarai Python - Bahagian 1

Struktur data adalah koleksi jenis data, hubungan antara mereka dan fungsi atau operasi yang boleh digunakan pada data. Jenis data boleh tali, Integer, Nilai terapung dan sebagainya.

Apakah perbezaan antara objek yang boleh berubah/tidak berubah?
Objek yang boleh berubah
  1. Objek yang keadaannya dapat diubah setelah dicipta seperti menambahkan, mengemaskini atau memadam elemen.
  2. Senarai, Kamus, Set, ByteArray adalah jenis objek yang boleh berubah dalam Python.
Objek yang tidak berubah
  1. Keadaan objek tidak dapat diubah suai. Sebaik sahaja objek dibuat, kita tidak dapat menambah, membuang atau mengemas kini elemen.
  2. String, Integer, Tuples, Frozenset adalah beberapa jenis objek yang tidak berubah di Python.
Apakah perbezaan antara struktur data homogen/heterogen?
  1. Struktur data homogen - Unsur data akan menjadi jenis data yang sama (Ex: Array).
  2. Struktur data heterogen - Unsur data mungkin tidak mempunyai jenis data yang sama (Ex: List, tuples, set dll ...).
Apakah jenis data primitif dan tidak primitif?
Jenis data primitif dan bukan primitif

Sebelum memahami fungsi struktur data terbina dalam, mari kita lihat beberapa fungsi terbina dalam yang akan digunakan dengan objek struktur data.

  • dir (obj) - fungsi terbina dalam yang akan mengembalikan atribut dan kaedah.
  • len (obj) - Kembalikan panjang (bilangan item) objek. Hujah mungkin urutan (seperti rentetan, bait, tuple, senarai, atau julat) atau koleksi (seperti kamus, set, atau set beku).
  • del - Kata kunci terbina dalam ini digunakan untuk memadamkan objek dari ruang nama atau mengeluarkan item dari objek seperti senarai, kamus, dan lain-lain ..
  • jenis (obj) - Fungsi jenis () sama ada mengembalikan jenis objek atau mengembalikan objek jenis baru berdasarkan argumen yang diluluskan.
  • ID() - Fungsi ini mengembalikan "identiti" objek. Ini adalah integer yang dijamin unik dan tetap untuk objek ini sepanjang hayatnya.

Sekarang kerana anda telah melihat beberapa butiran penting, mari kita teruskan dengan struktur data Python.

Python Dilengkapi dengan terbina dalam struktur data serta pengguna dapat menentukan struktur data mereka sendiri. Struktur data terbina dalam termasuk Senarai, Kamus, Tuple, dan Tetapkan. Beberapa contoh untuk struktur data yang ditentukan oleh pengguna adalah TIMBUNAN, Beratur, Pokok, HashMap, dan lain-lain…

Orang yang datang dari bahasa pengaturcaraan lain akan sangat akrab dengan jenis array. Tetapi di Python, mereka tidak biasa.

Di sini senarai itu sama seperti array tetapi senarai membolehkan kami menyimpan nilai -nilai mana -mana jenis data (heterogen) manakala array akan memegang data jenis tertentu sahaja (int, float dll ...). Untuk menggunakan array, anda perlu mengimport array dari modul "array" secara eksplisit.

Dalam siri artikel Python ini, kita akan melihat apa itu struktur data dan struktur data terbina dalam python.

Bahagian 1: Struktur Data Python - Senarai Bahagian 2: Struktur Data Python - Tuples Bahagian 3: Struktur Data Python - Kamus Bahagian 4: Struktur Data Python - Set/Frozenset

Senarai

Senarai adalah struktur data yang merupakan koleksi jenis data yang berbeza. Apakah "Pengumpulan jenis data yang berbeza"Bermakna? Senarai boleh menyimpan rentetan, bilangan bulat, nilai titik terapung, senarai bersarang dan sebagainya.

Senarai objek adalah "Mutable"Yang bermaksud item yang dibuat di dalam senarai boleh diakses, diubah suai atau dipadam. Senarai Pengindeksan Sokongan. Setiap item dalam senarai diberikan ke alamat dan alamat itu boleh digunakan untuk mengakses atau mengubah nilai item tertentu.

  • Buat senarai
  • Masukkan/akses/ubah suai senarai
  • Padam Senarai

Buat senarai

Senarai boleh dibuat menggunakan kurungan persegi.

>>> name_empty = [] # Senarai kosong >>> name = ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] senarai dengan jenis data rentetan >>> name_int = [1,2,3] # senarai dengan jenis data integer >>> name_mixed = [name_int, nama, 1,2,3.14] # senarai dengan item senarai bersarang. >>> name_mixed [[1, 2, 3], ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'], 1, 2, 3.14] >>> name_int [1, 2, 3] 

Kita boleh menggunakan terbina taip () berfungsi untuk memeriksa jenis objek.

>>> Jenis (nama) 
Buat Senarai di Python

Kita boleh mengakses kaedah dan atribut daripada senarai contoh menggunakan dir () fungsi.

>>> dir (nama) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__gebed', '__gebed', '__gebed', '__gebed', '__GETR', '__GGET__', '__GETR', ' ',' __getitem__ ',' __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __lt__ ',' __lt__ ',' __lt__ ',' __lt__ ',' __lt__ ',' __lt__ ',' '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append ',' jelas ',' salinan ',' kiraan ',' lanjutan ',' indeks ',' masukkan ',' pop ',' keluarkan ',' terbalik ',' sort '] 

Kami dapat mengetahui jumlah item dalam senarai yang menggunakannya len () kaedah.

>>> len (nama) 

Kami boleh membuat senarai baru dari senarai yang ada menggunakan senarai.salinan() kaedah.

>>> name_new = nama.salinan () >>> name_new ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] 
Semak kaedah dan atribut senarai

Memasukkan / mengakses / mengubah suai senarai

Kita boleh memasukkan item ke dalam senarai di mana -mana kedudukan menggunakan senarai.masukkan (i, x) kaedah.

>>> Nama = ['leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama ['Leo', 'Matt', 'Kane', 'Scott' , 'Petter', 'Will'] >>> Nama.Masukkan (0, 'Tom') # Kaedah masukkan mengambil 2 argumen (kedudukan indeks, item) >>> Nama ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', ' Akan '] # tom dimasukkan pada kedudukan ke -0. 
Masukkan item dalam senarai

Kita boleh guna senarai.tambah (x) kaedah untuk memasukkan satu item ke dalam senarai. Ini akan memasukkan item ke hujung senarai.

>>> name = [] >>> len (nama) 0 >>> Nama.tambah ('leo') >>> nama.tambah ('Matt') >>> Nama.tambah ('kane') >>> cetak (nama) ['leo', 'matt', 'kane'] 
Tambah item dalam senarai

Kita boleh guna senarai.melanjutkan () kaedah untuk menambah pelbagai item ke senarai.

>>> new_name = ['gowtham', 'martin', 'luis'] >>> nama.extend (new_name) >>> Nama ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', ' Luis '] 
Tambahkan pelbagai item ke senarai

Kita juga boleh menggunakan '+' pengendali untuk menggabungkan dua senarai. Kedua -dua senarai itu boleh menjadi jenis data yang berbeza.

>>> a = [1,2,3] >>> b = [2,3,3] >>> c = a + b >>> c [1, 2, 3, 2, 3, 3]> >> d = ['karthi', 'kenny'] >>> e = a + d >>> e [1, 2, 3, 'karthi', 'kenny'] 
Campurkan dua senarai di Python

Seperti yang telah dinyatakan senarai objek boleh berubah. Item senarai boleh diubah suai dengan merujuk kedudukan indeks dan memberikan nilai kepadanya.

>>> Nama # sebelum diubahsuai ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama [0] = 'karthi' >>> Nama # selepas diubahsuai ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] 
Ubah suai item senarai mengikut kedudukan indeks

The senarai menyokong pengindeksan positif dan negatif.

Pengindeksan bermula dari 0 dan pengindeksan negatif bermula dari -1.

Pengindeksan Python

Kami boleh mengakses item senarai menggunakan kedudukan indeks mereka.

>>> Nama [0] # Mengakses Item Senarai di Indeks 0 'Leo' >>> Nama [1] 'Matt' >>> Nama [4] 'Petter' >>> Nama [5] 'akan' >> > Nama [-1] # mengakses item senarai dengan pengindeksan negatif 'akan' name [-6] 'leo' 
Item senarai akses menggunakan kedudukan indeks

Kami juga boleh menggunakan penghirisan untuk mengakses item dalam senarai. Pengiraan membolehkan kami mengakses pelbagai item dengan menentukan parameter permulaan, berakhir, langkah.

# Sintaks: Senarai [kedudukan permulaan, kedudukan akhir, langkah] >>> Nama [0: 3] ['tom', 'leo', 'matt'] >>> name [:] ['tom', 'leo' , 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama [: 4] ['Tom', 'Leo', 'Matt', 'Kane'] >>> Nama [: -2] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott'] >>> Nama [:-1] ['Tom', 'Leo', 'Matt', 'Kane ',' Scott ',' Petter '] >>> Nama [:-1: 2] [' Tom ',' Matt ',' Scott '] 
Pelbagai Akses Item dalam Senarai

Kita dapat mencari bilangan kejadian untuk nilai yang diberikan senarai.kiraan (x) kaedah.

>>> name_int = [1,1,2,3,1] >>> name_int.Kira (1) 3 
Cari Kejadian Nilai

Kita dapat mencari kedudukan indeks item tertentu menggunakan senarai.indeks (x [, mula [, akhir]]) kaedah.

>>> Nama # dimasukkan 'akan' di akhir senarai. Sekarang kita mempunyai 2 nama 'Will'. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will'] >>> Nama.indeks ('akan) # mengembalikan kedudukan indeks kejadian pertama x. 0 >>> Nama.indeks ('akan', 2) # permulaan indeks positon'2 'diberikan. 7 >>> Nama.Indeks ('Will', 2,4) # Memulakan dan menamatkan kedudukan indeks diberikan. Oleh kerana tidak ada kejadian 'akan' dalam kedudukan carian yang diberikan, ia akan membuang ralat nilai. Traceback (Panggilan Terakhir Terakhir): Fail "", baris 1, di ValueError: 'Will' tidak dalam senarai 

Kita boleh guna senarai.terbalik () kaedah untuk membalikkan item dalam senarai.

>>> Nama ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> Nama.terbalik () >>> Nama ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi'] 
Item terbalik dalam senarai

Padam Senarai

Kita boleh guna senarai.pop (x) kaedah untuk mengeluarkan item dari senarai di x kedudukan. Fungsi ini akan mengalih keluar item dari senarai dan memaparkan item yang dikeluarkan. Jika x tidak ditentukan ketika itu pop () kaedah akan mengembalikan item terakhir dari senarai.

>>> Nama ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']> >> nama.Pop (0) 'Will' >>> Nama ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis '] >>> Nama.pop () 'luis' 

Kita juga boleh menggunakan senarai.Keluarkan (x) kaedah untuk mengeluarkan item dari senarai. Di sini x mengambil nilai item dan melemparkan ValueError jika x tidak ada dalam senarai.

>>> Nama = ['leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama.Keluarkan ('leo') >>> Nama ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama.Keluarkan ('leo') traceback (panggilan terakhir terakhir): fail "", baris 1, dalam nilai: senarai.Keluarkan (x): x tidak dalam senarai 

Kami boleh membuat senarai kosong dengan sama ada memberikan nama senarai untuk kurungan persegi atau menggunakan senarai.jelas () kaedah.

>>> name1 = nama.Salin () >>> Name1 ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >>> Nama [' Petter ',' Scott ',' Kane ',' Matt ',' Leo ',' Karthi ',' Will ',' Gowtham ',' Martin '] >>> name = [] >>> name [] >> > nama1.jelas () >>> name1 [] 

Daripada menggunakan kaedah senarai untuk membuat senarai kosong atau mengeluarkan item dari senarai yang boleh kita gunakan dibina dalam kata kunci del untuk melakukan tindakan ini. The "Del" Kata kunci boleh memadam objek senarai dari memori atau memadam item dari senarai atau memadam item dari kepingan.

>>> name = ['leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> del name [0] >>> name ['matt', 'kane' , 'Scott', 'petter', 'akan'] >>> del name [-3:] >>> name ['matt', 'kane'] >>> del name [:] >>> name [] 

Dibina dalam ID() fungsi mengembalikan "identiti"Objek. Ini adalah integer yang dijamin unik dan tetap untuk objek ini sepanjang hayatnya.

>>> id (nama) 139979929658824 >>> del name >>> id (nama) traceback (panggilan terakhir terakhir): fail "", baris 1, dalam nameerror: nama 'nama' tidak ditakrifkan 

Catatan: kami telah mengeluarkan pemboleh ubah senarai dari memori menggunakan del (), oleh itu ia membuang ralat nama.

tolong () funtion: 

Dibina dalam bantuan fungsi () sangat berguna untuk mendapatkan butiran mengenai objek atau kaedah tertentu objek itu.

Bantuan (objek) Bantuan (objek.kaedah) 
Ringkasan

Setakat ini dalam artikel ini, kita telah melihat bagaimana kita boleh menggunakan a Senaraikan struktur data untuk menyimpan, mengakses, mengubah suai, memadam objek senarai dengan menggunakan kaedah senarai. Kami juga melihat beberapa fungsi terbina dalam seperti ID(), dir (), taip (), Tolong () yang berfungsi dengan sangat berkesan. Kami juga mempunyai pemahaman senarai di Python yang memberikan cara yang lebih ringkas dan mudah dibaca untuk membuat senarai.