Pelajari Struktur Data Daftar Python - Bagian 1

Pelajari Struktur Data Daftar Python - Bagian 1

Struktur data adalah kumpulan tipe data, hubungan di antara mereka dan fungsi atau operasi yang dapat diterapkan pada data. Tipe data bisa rangkaian, Bilangan bulat, Nilai mengambang dan seterusnya.

Apa perbedaan antara objek yang dapat berubah/tidak dapat diubah?
Objek yang bisa berubah
  1. Objek yang keadaannya dapat diubah setelah dibuat seperti menambahkan, memperbarui atau menghapus elemen.
  2. Daftar, Kamus, Set, Bytearray adalah tipe objek yang bisa berubah di Python.
Objek yang tidak dapat diubah
  1. Keadaan objek tidak dapat dimodifikasi. Setelah objek dibuat, kami tidak dapat menambah, menghapus atau memperbarui elemen.
  2. String, integer, tupel, frozenset adalah beberapa tipe objek yang tidak dapat diubah dalam ular python.
Apa perbedaan antara struktur data homogen/heterogen?
  1. Struktur data yang homogen - Elemen data akan memiliki tipe data yang sama (mis: array).
  2. Struktur data yang heterogen - Elemen data mungkin tidak memiliki tipe data yang sama (mis: daftar, tupel, set dll ...).
Apa tipe data primitif dan non-primitif?
Tipe data primitif dan non-primitif

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

  • Dir (OBJ) - fungsi bawaan yang akan mengembalikan atribut dan metode.
  • Len (OBJ) - Mengembalikan panjang (jumlah item) dari suatu objek. Argumen mungkin urutan (seperti string, byte, tuple, daftar, atau rentang) atau koleksi (seperti kamus, set, atau set beku).
  • Del - Kata kunci bawaan ini digunakan untuk menghapus objek dari namespace atau menghapus item dari objek seperti daftar, kamus, dll ..
  • Tipe (OBJ) - Fungsi type () baik mengembalikan jenis objek atau mengembalikan objek tipe baru berdasarkan argumen yang disahkan.
  • pengenal() - Fungsi ini mengembalikan "identitas" objek. Ini adalah bilangan bulat yang dijamin unik dan konstan untuk objek ini selama masa hidupnya.

Sekarang karena Anda telah melihat beberapa detail penting, mari kita lanjutkan dengan struktur data Python.

Python Dilengkapi dengan built-in struktur data serta pengguna dapat menentukan struktur data mereka sendiri. Struktur data bawaan termasuk DAFTAR, KAMUS, Tuple, Dan MENGATUR. Beberapa contoh untuk struktur data yang ditentukan pengguna adalah TUMPUKAN, Antrian, POHON, Hashmap, dll…

Orang yang datang dari bahasa pemrograman lain akan sangat akrab dengan jenis array. Tapi di Python, mereka tidak begitu umum.

Di sini daftarnya mirip dengan array tetapi daftar ini memungkinkan kami untuk menyimpan nilai dari jenis data apa pun (heterogen) sementara array akan menyimpan data dari tipe tertentu saja (int, float dll ...). Untuk menggunakan array, Anda harus mengimpor array dari modul "Array" secara eksplisit.

Dalam serangkaian artikel Python ini, kami akan melihat apa itu struktur data Dan struktur data bawaan python.

Bagian 1: Struktur Data Python - Daftar Bagian 2: Struktur Data Python - Tupel Bagian 3: Struktur Data Python - Kamus Bagian 4: Struktur Data Python - Set/Frozenset

DAFTAR

Daftar adalah struktur data yang merupakan kumpulan tipe data yang berbeda. Apa yang "pengumpulan tipe data yang berbeda" cara? Daftar dapat menyimpan string, bilangan bulat, nilai floating point, daftar bersarang dan sebagainya.

Daftar objek adalah “Yg mungkin berubah”Yang berarti item yang dibuat di dalam daftar dapat diakses, dimodifikasi atau dihapus. Daftar pengindeksan dukungan. Setiap item dalam daftar ditetapkan ke alamat dan alamat itu dapat digunakan untuk mengakses atau memodifikasi nilai item tertentu.

  • Buat daftar
  • Sisipkan/Akses/Ubah Daftar
  • Daftar Hapus

Buat daftar

Daftar dapat dibuat menggunakan tanda kurung persegi.

>>> name_empty = [] # daftar kosong >>> name = ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] # daftar dengan tipe data string string string >>> name_int = [1,2,3] # Daftar dengan tipe data integer >>> name_mixed = [name_int, name, 1,2,3.14] # Daftar dengan item daftar bersarang. >>> name_mixed [[1, 2, 3], ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'], 1, 2, 3, 3.14] >>> name_int [1, 2, 3] 

Kita bisa menggunakan inbuilt jenis() Fungsi untuk memeriksa jenis objek.

>>> ketik (nama) 
Buat Daftar di Python

Kami dapat mengakses metode Dan atribut dari daftar Contoh menggunakan dir () fungsi.

>>> dir (name) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__Format__', '__GE', '__eq ', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append ',' clear ',' copy ',' count ',' extend ',' index ',' inert ',' Pop ',' reverse ',' reverse ',' sort '] 

Kita dapat mengetahui jumlah total item dalam daftar menggunakan len () metode.

>>> len (nama) 

Kita dapat membuat daftar baru dari daftar yang ada menggunakan daftar.menyalin() metode.

>>> name_new = name.copy () >>> name_new ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] 
Periksa metode dan atribut daftar

Daftar Memasukkan / Mengakses / Modifikasi

Kami dapat memasukkan item ke dalam daftar di posisi apa pun menggunakan daftar.masukkan (i, x) metode.

>>> name = ['leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> name ['leo', 'matt', 'kane', 'scott' , 'Petter', 'Will'] >>> Nama.masukkan (0, 'tom') # Metode masukkan mengambil 2 argumen (posisi indeks, item) >>> name ['tom', 'leo', 'matt', 'kane', 'scott', 'petter', ' Will '] # Tom dimasukkan pada posisi ke -0. 
Masukkan item dalam daftar

Kita bisa gunakan daftar.tambahkan (x) metode untuk menambahkan satu item ke dalam daftar. Ini akan memasukkan item ke akhir daftar.

>>> name = [] >>> len (name) 0 >>> name.append ('leo') >>> name.append ('matt') >>> name.append ('kane') >>> cetak (nama) ['leo', 'matt', 'kane'] 
Tambahkan item dalam daftar

Kita bisa gunakan daftar.memperpanjang() metode untuk menambahkan beberapa item ke daftar.

>>> new_name = ['gowtham', 'martin', 'luis'] >>> name.Extens (new_name) >>> name ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', ' Luis '] 
Tambahkan beberapa item ke daftar

Kami juga bisa menggunakan '+' operator untuk menggabungkan dua daftar. Kedua daftar tersebut dapat memiliki tipe data yang berbeda.

>>> 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'] 
Gabungkan dua daftar dalam Python

Seperti yang sudah dinyatakan daftar objek dapat berubah. Item daftar dapat dimodifikasi dengan merujuk posisi indeks dan menetapkan nilai untuk itu.

>>> Nama # Sebelum dimodifikasi ['Tom', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> name [0] = 'Karthi' >>> Nama # setelah dimodifikasi ['karthi', 'leo', 'matt', 'kane', 'scott', 'petter', 'will'] 
Ubah item daftar berdasarkan posisi indeks

Itu daftar mendukung pengindeksan positif dan negatif.

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

Pengindeksan Python

Kami dapat mengakses item daftar menggunakan posisi indeksnya.

>>> Nama [0] # Mengakses Item Daftar di Indeks 0 'Leo' >>> Nama [1] 'Matt' >>> Nama [4] 'Petter' >>> Nama [5] 'Will' >> > Nama [-1] # Mengakses Item Daftar dengan Pengindeksan Negatif 'Will' >>> Nama [-6] 'Leo' 
Item daftar akses menggunakan posisi indeks

Kami juga dapat menggunakan mengiris untuk mengakses item dalam daftar. Mengiris memungkinkan kami untuk mengakses serangkaian item dengan mendefinisikan parameter start, ending, langkah.

# Sintaks: Daftar [posisi awal, posisi akhir, langkah] >>> Nama [0: 3] ['Tom', 'Leo', 'Matt'] >>> Nama [:] ['Tom', 'Leo' , 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama [: 4] ['Tom', 'Leo', 'Matt', 'Kane'] >>> Nama [: -2] ['tom', 'leo', 'matt', 'kane', 'scott'] >>> name [:-1] ['tom', 'leo', 'matt', 'kane ',' Scott ',' Petter '] >>> Nama [:-1: 2] [' Tom ',' Matt ',' Scott '] 
Rentang akses item dalam daftar

Kita dapat menemukan jumlah kejadian untuk nilai yang diberikan menggunakan daftar.hitung (x) metode.

>>> name_int = [1,1,2,3,1] >>> name_int.hitung (1) 3 
Temukan kejadian nilai

Kita dapat menemukan posisi indeks dari item yang diberikan menggunakan daftar.indeks (x [, start [, end]]) metode.

>>> Nama # dimasukkan 'akan' di akhir daftar. Sekarang kami memiliki 2 nama 'Will'. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will'] >>> Nama.index ('Will) # Mengembalikan posisi indeks kejadian pertama x. 0 >>> Nama.indeks ('will', 2) # indeks awal positon'2 'diberikan. 7 >>> Nama.Indeks ('Will', 2,4) # Posisi indeks mulai dan akhir diberikan. Karena tidak ada kejadian 'kemauan' dalam posisi pencarian yang diberikan itu akan melempar kesalahan nilai. Traceback (Panggilan Terbaru Terakhir): File "", Baris 1, di ValueError: 'Will' tidak ada dalam daftar 

Kita bisa gunakan daftar.balik() metode untuk membalikkan item dalam daftar.

>>> Nama ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama.Reverse () >>> Nama ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi'] 
Balik item dalam daftar

Daftar Hapus

Kita bisa gunakan daftar.pop (x) metode untuk menghapus item dari daftar di X posisi. Fungsi ini akan menghapus item dari daftar dan menampilkan item yang dihapus. Jika X tidak ditentukan kemudian pop () Metode akan mengembalikan item terakhir dari daftar.

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

Kami juga bisa menggunakan daftar.hapus (x) metode untuk menghapus item dari daftar. Di Sini X mengambil nilai item dan melempar Nilaieror jika X tidak ada dalam daftar.

>>> name = ['leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> name.hapus ('leo') >>> name ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> Nama.hapus ('leo') traceback (panggilan terbaru terakhir): file "", baris 1, di nilaierror: daftar.hapus (x): x tidak dalam daftar 

Kita dapat membuat daftar kosong dengan menetapkan nama daftar ke tanda kurung atau menggunakan daftar.jernih() metode.

>>> name1 = name.copy () >>> name1 ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >> name [' Petter ',' Scott ',' Kane ',' Matt ',' Leo ',' Karthi ',' Will ',' Gowtham ',' Martin '] >>> name = [] >>> name [] >> > name1.clear () >>> name1 [] 

Alih -alih menggunakan metode daftar untuk membuat daftar kosong atau menghapus item dari daftar yang dapat kita gunakan kata kunci bawaan Del untuk melakukan tindakan ini. Itu "Del" Kata kunci dapat menghapus objek daftar dari memori atau menghapus item dari daftar atau menghapus item dari irisan.

>>> name = ['leo', 'matt', 'kane', 'scott', 'petter', 'will'] >>> name del [0] >>> name ['matt', 'Kane' , 'Scott', 'Petter', 'Will'] >>> nama del [-3:] >>> Nama ['matt', 'Kane'] >>> nama del [:] >>> Nama [] 

Dibangun pengenal() fungsi mengembalikan “identitas"Dari suatu objek. Ini adalah bilangan bulat yang dijamin unik dan konstan untuk objek ini selama masa hidupnya.

>>> id (name) 139979929658824 >>> nama del >>> id (name) traceback (panggilan terbaru terakhir): file "", baris 1, di nameError: name 'name' tidak ditentukan 

Catatan: Kami telah menghapus variabel daftar dari memori menggunakan del (), Karenanya ia melempar kesalahan nama.

Help () Funtion: 

Dibangun dalam bantuan fungsi() sangat berguna untuk mendapatkan detail tentang objek atau metode tertentu dari objek itu.

Bantuan (Objek) Bantuan (Objek.metode) 
Ringkasan

Sejauh ini dalam artikel ini, kami telah melihat bagaimana kami dapat menggunakan a Daftar Struktur Data Untuk menyimpan, mengakses, memodifikasi, menghapus objek daftar dengan menggunakan metode daftar. Kami juga telah melihat beberapa fungsi bawaan seperti pengenal(), dir (), jenis(), membantu() Fungsi yang sangat efektif. Kami juga memiliki daftar pemahaman di Python yang menyediakan cara yang lebih ringkas dan mudah dibaca untuk membuat daftar.