Bisakah kita membuat struktur data dengan python?

Kami baru saja merilis kursus di saluran YouTube freeCodeCamp yang merupakan pengantar ramah pemula untuk struktur data umum (daftar tertaut, tumpukan, antrean, grafik) dan algoritme (pencarian, penyortiran, rekursi, pemrograman dinamis) dengan Python

Kursus ini akan membantu Anda mempersiapkan wawancara dan penilaian coding. Dalam kursus ini, Anda akan

  • Tonton tutorial video langsung yang berfokus pada pengkodean
  • Berlatih coding dengan notebook cloud Jupyter
  • Selesaikan pertanyaan dari wawancara pemrograman nyata

Aakash NS mengajarkan kursus ini. Dia adalah salah satu pendiri dan CEO Jovian dan telah membuat banyak kursus populer tentang pembelajaran mesin dan pemrograman

Kursus ini dipecah menjadi serangkaian pelajaran, tugas, dan proyek. Ada file Notebook Jupyter untuk disertakan dengan setiap bagian

Inilah yang dibahas dalam kursus

Pelajaran 1 - Pencarian Biner, Daftar Tertaut, dan Kompleksitas

  • Pencarian Linear dan Biner
  • Kompleksitas dan Big O Notasi
  • Daftar Tertaut menggunakan Kelas Python

Tugas 1 - Latihan Pencarian Biner

  • Memahami dan memecahkan masalah secara sistematis
  • Menerapkan pencarian linier dan menganalisisnya
  • Optimalkan solusi menggunakan pencarian biner

Pelajaran 2 - Pohon Pencarian Biner, Traversal, dan Rekursi

  • Pohon biner, traversal, dan rekursi
  • Pohon pencarian biner & operasi umum
  • Pohon biner seimbang dan optimisasi

Tugas 2 - Tabel Hash dan Kamus Python

  • Hash tabel dari awal dengan Python
  • Penanganan tabrakan menggunakan probing linier
  • Mereplikasi kamus Python

Pelajaran 3 - Mengurutkan Algoritma dan Membagi & Menaklukkan

  • Bubble Sort dan Insertion Sort
  • Merge sort menggunakan Divide & Conquer
  • Quicksort dan kompleksitas rata-rata

Tugas 3 - Latihan Bagi dan Taklukkan

  • Terapkan perkalian polinomial
  • Optimalkan menggunakan membagi dan menaklukkan
  • Menganalisis kompleksitas waktu dan ruang

Pelajaran 4 - Rekursi dan Pemrograman Dinamis

  • Rekursi dan memoisasi
  • Masalah selanjutnya dan ransel
  • Mundur dan pemangkasan

Pelajaran 5 - Algoritma Graf (BFS, DFS & Jalur Terpendek)

  • Grafik, pohon, dan daftar adjacency
  • Pencarian luas-pertama dan kedalaman-pertama
  • Jalur terpendek dan grafik terarah

Proyek - Solusi Langkah-demi-Langkah untuk Masalah Pemrograman

  • Pilih masalah pengkodean yang menarik
  • Selesaikan masalah langkah demi langkah
  • Dokumentasikan dan sajikan solusinya

Pelajaran 6 - Pertanyaan Wawancara Python, Tip & Saran

  • Latihan soal dan solusi
  • Kiat untuk memecahkan tantangan pengodean
  • Saran untuk memecahkan wawancara coding

Tonton kursus di bawah atau di freeCodeCamp. saluran YouTube org (tontonan 13 jam)

IKLAN

IKLAN

IKLAN


Bisakah kita membuat struktur data dengan python?
Beau Carnes

Saya seorang guru dan pengembang dengan freeCodeCamp. org. Saya menjalankan freeCodeCamp. saluran YouTube org


Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih

Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai

Setelah membaca tutorial ini, Anda akan mempelajari struktur data apa yang ada di Python, kapan harus menerapkannya, serta kelebihan dan kekurangannya. Kami akan berbicara tentang struktur data secara umum, lalu menyelam lebih dalam ke dalam struktur data Python. daftar, kamus, set, dan tupel

Apa Itu Struktur Data?

Struktur data adalah cara mengatur data dalam memori komputer, diimplementasikan dalam bahasa pemrograman. Organisasi ini diperlukan untuk penyimpanan, pengambilan, dan modifikasi data yang efisien. Ini adalah konsep mendasar karena struktur data adalah salah satu blok bangunan utama dari setiap perangkat lunak modern. Mempelajari struktur data apa yang ada dan bagaimana menggunakannya secara efisien dalam situasi yang berbeda adalah salah satu langkah pertama untuk mempelajari bahasa pemrograman apa pun

Struktur Data dengan Python

Struktur data bawaan di Python dapat dibagi menjadi dua kategori besar. berubah dan tidak berubah. Struktur data yang dapat berubah (dari bahasa Latin mutabilis, "dapat diubah") adalah struktur data yang dapat kita modifikasi — misalnya, dengan menambahkan, menghapus, atau mengubah elemennya. Python memiliki tiga struktur data yang bisa berubah. daftar, kamus, dan set. Struktur data yang tidak dapat diubah, di sisi lain, adalah yang tidak dapat kita ubah setelah pembuatannya. Satu-satunya struktur data bawaan yang tidak dapat diubah di Python adalah tuple

Python juga memiliki beberapa struktur data lanjutan, seperti or , yang dapat diimplementasikan dengan struktur data dasar. Namun, ini jarang digunakan dalam ilmu data dan lebih umum di bidang rekayasa perangkat lunak dan penerapan algoritme kompleks, jadi kami tidak akan membahasnya dalam tutorial ini

Paket pihak ketiga Python yang berbeda mengimplementasikan struktur data mereka sendiri, seperti DataFrames dan di

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
8 atau array di
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
9. Namun, kami juga tidak akan membicarakannya di sini, karena ini adalah topik tutorial yang lebih spesifik (seperti Cara Membuat dan Menggunakan Pandas DataFrame atau Tutorial NumPy. Analisis Data dengan Python)

Mari kita mulai dengan struktur data yang bisa berubah. daftar, kamus, dan set

Daftar

Daftar dalam Python diimplementasikan sebagai array dinamis yang dapat berubah yang menyimpan kumpulan item yang dipesan

Pertama, dalam banyak bahasa pemrograman, array adalah struktur data yang berisi kumpulan elemen dari tipe data yang sama (misalnya, semua elemen adalah bilangan bulat). Namun, dalam Python, daftar dapat berisi tipe dan objek data yang heterogen. Misalnya, bilangan bulat, string, dan bahkan fungsi dapat disimpan dalam daftar yang sama. Elemen yang berbeda dari daftar dapat diakses dengan indeks bilangan bulat di mana elemen pertama dari daftar memiliki indeks 0. Properti ini berasal dari fakta bahwa dalam Python, daftar diurutkan, yang berarti mereka mempertahankan urutan di mana Anda memasukkan elemen ke dalam daftar

Selanjutnya, kita dapat menambahkan, menghapus, dan mengubah elemen dalam daftar secara sewenang-wenang. Misalnya, metode

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
_0 menambahkan elemen baru ke daftar, dan metode
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
1 menghapus elemen dari daftar. Selanjutnya, dengan mengakses elemen daftar berdasarkan indeks, kita dapat mengubahnya ke elemen lain. Untuk detail lebih lanjut tentang metode daftar yang berbeda, silakan merujuk ke

Terakhir, saat membuat daftar, kita tidak perlu menentukan terlebih dahulu jumlah elemen yang akan dikandungnya;

Daftar berguna ketika kita ingin menyimpan kumpulan tipe data yang berbeda dan selanjutnya menambah, menghapus, atau melakukan operasi pada setiap elemen daftar (dengan mengulanginya). Selain itu, daftar berguna untuk menyimpan struktur data lain (dan bahkan daftar lainnya) dengan membuat, misalnya, daftar kamus, tupel, atau daftar. Sangat umum untuk menyimpan tabel sebagai daftar daftar (di mana setiap daftar dalam mewakili kolom tabel) untuk analisis data selanjutnya

Jadi, kelebihan daftar adalah

  • Mereka mewakili cara termudah untuk menyimpan koleksi objek terkait
  • Mereka mudah dimodifikasi dengan menghapus, menambah, dan mengubah elemen
  • Mereka berguna untuk membuat struktur data bersarang, seperti daftar daftar/kamus

Namun, mereka juga memiliki kontra

  • Mereka bisa sangat lambat saat melakukan operasi aritmatika pada elemen mereka. (Untuk kecepatan, gunakan array NumPy. )
  • Mereka menggunakan lebih banyak ruang disk karena implementasinya yang tersembunyi

Contoh

Akhirnya, mari kita lihat beberapa contoh

Kita dapat membuat daftar menggunakan tanda kurung siku (

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
2) dengan nol atau lebih elemen di antaranya, dipisahkan dengan koma, atau. Yang terakhir juga dapat digunakan untuk mengubah struktur data tertentu lainnya menjadi daftar

# Create an empty list using square brackets
l1 = []

# Create a four-element list using square brackets
l2 = [1, 2, "3", 4]  # Note that this lists contains two different data types: integers and strings

# Create an empty list using the list() constructor
l3 = list()

# Create a three-element list from a tuple using the list() constructor
# We will talk about tuples later in the tutorial
l4 = list((1, 2, 3))

# Print out lists
print(f"List l1: {l1}")
print(f"List l2: {l2}")
print(f"List l3: {l3}")
print(f"List l4: {l4}")
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]

Kita dapat mengakses elemen daftar menggunakan indeks, di mana elemen pertama daftar memiliki indeks 0

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.

Kami juga dapat mengiris daftar dan mengakses beberapa elemen secara bersamaan

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
    ['3', 4]

Perhatikan bahwa kita tidak harus menentukan indeks dari elemen terakhir yang ingin kita akses jika kita menginginkan semua elemen dari indeks 2 (disertakan) hingga akhir daftar. Secara umum, pemotongan daftar berfungsi sebagai berikut

  1. Buka tanda kurung siku
  2. Tulis indeks pertama dari elemen pertama yang ingin kita akses. Elemen ini akan dimasukkan dalam output. Tempatkan titik dua setelah indeks ini
  3. Tulis indeks, ditambah salah satu elemen terakhir yang ingin kita akses. Penambahan 1 di sini diperlukan karena elemen di bawah indeks yang kita tulis tidak akan disertakan dalam output

Mari tunjukkan perilaku ini dengan sebuah contoh

print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
    List l2: [1, 2, '3', 4]
    Second and third elements of list l2: [2, '3']

Perhatikan bahwa indeks terakhir yang kami tentukan adalah 3, bukan 2, meskipun kami ingin mengakses elemen di bawah indeks 2. Jadi, indeks terakhir yang kami tulis tidak disertakan

Anda dapat bereksperimen dengan berbagai indeks dan daftar yang lebih besar untuk memahami cara kerja pengindeksan

Sekarang mari kita tunjukkan bahwa daftar bisa berubah. Misalnya, kita dapat

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
_4 elemen baru ke daftar atau
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
5 elemen tertentu darinya

# Append a new element to the list l1
l1.append(5)

# Print the modified list
print("Appended 5 to the list l1:")
print(l1)

# Remove element 5 from the list l1
l1.remove(5)

# Print the modified list
print("Removed element 5 from the list l1:")
print(l1)
    Appended 5 to list l1:
    [5]
    Removed element 5 from the list l1:
    []

Selain itu, kita dapat memodifikasi elemen yang sudah ada dalam daftar dengan mengakses indeks yang diperlukan dan menetapkan nilai baru ke indeks tersebut

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
0
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
1

Tentu saja, kami hanya menggores permukaan dari apa yang mungkin dengan daftar Python. Anda dapat mempelajari lebih lanjut dari kursus ini atau melihatnya

Kamus

Kamus dengan Python sangat mirip dengan kamus dunia nyata. Ini adalah struktur data yang dapat berubah yang berisi kumpulan kunci dan, terkait dengannya, nilai. Struktur ini membuatnya sangat mirip dengan kamus definisi kata. Misalnya, kamus kata (kunci kami) dikaitkan dengan definisi (nilainya) dalam kamus online Oxford. buku atau sumber elektronik yang memberikan daftar kata-kata suatu bahasa dalam urutan abjad dan menjelaskan artinya, atau memberikan kata untuk kata-kata itu dalam bahasa asing

Kamus digunakan untuk mengakses data tertentu dengan cepat yang terkait dengan kunci unik. Keunikan sangat penting, karena kita hanya perlu mengakses informasi tertentu dan tidak mengacaukannya dengan entri lainnya. Bayangkan kita ingin membaca definisi Ilmu Data, tetapi sebuah kamus mengarahkan kita ke dua halaman berbeda. mana yang benar?

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
_2

Kami menggunakan kamus saat kami dapat mengaitkan (dalam istilah teknis, untuk memetakan) kunci unik ke data tertentu, dan kami ingin mengakses data tersebut dengan sangat cepat (dalam waktu yang konstan, berapa pun ukuran kamusnya). Selain itu, nilai kamus bisa sangat kompleks. Misalnya, kunci kami dapat berupa nama pelanggan, dan data (nilai) pribadi mereka dapat berupa kamus dengan kunci seperti "Usia", "Kota Asal", dll.

Jadi, kelebihan kamus adalah

  • Mereka membuat kode lebih mudah dibaca jika kita perlu menghasilkan
    # Assign the third and the fourth elements of l2 to a new list
    l5 = l2[2:]
    
    # Print out the resulting list
    print(l5)
    6 pasang. Kami juga dapat melakukan hal yang sama dengan daftar daftar (di mana daftar dalam adalah pasangan "kunci" dan "nilai"), tetapi ini terlihat lebih rumit dan membingungkan
  • Kami dapat mencari nilai tertentu dalam kamus dengan sangat cepat. Sebagai gantinya, dengan sebuah daftar, kita harus membaca daftar tersebut sebelum kita mencapai elemen yang diperlukan. Perbedaan ini tumbuh secara drastis jika kita menambah jumlah elemen

Namun, kontra mereka

  • Mereka menempati banyak ruang. Jika kita perlu menangani data dalam jumlah besar, ini bukan struktur data yang paling cocok
  • Dalam Python 3. 6. 0 dan versi yang lebih baru, kamus. Ingatlah hal itu untuk menghindari masalah kompatibilitas saat menggunakan kode yang sama di berbagai versi Python

Contoh

Sekarang mari kita lihat beberapa contoh. Pertama, kita dapat membuat kamus dengan kurung kurawal (

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
7) atau konstruktor
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
8

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
3
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
4

Sekarang mari kita mengakses elemen dalam kamus. Kita bisa melakukan ini dengan metode yang sama seperti daftar

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
5
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
6

Selanjutnya, kita juga dapat memodifikasi kamus — misalnya, dengan menambahkan pasangan

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
6 baru

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
7
List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
8

Seperti yang bisa kita lihat, kunci baru, "Violet", telah ditambahkan

Dimungkinkan juga untuk menghapus elemen dari kamus, jadi cari cara untuk melakukannya dengan membaca. Selain itu, Anda dapat membaca tutorial yang lebih mendalam tentang kamus Python (dengan banyak contoh) atau melihat pelajaran kamus DataQuest

Set

Set dalam Python dapat didefinisikan sebagai koleksi dinamis yang dapat diubah dari elemen unik yang tidak dapat diubah. Unsur-unsur yang terkandung dalam suatu himpunan harus tidak dapat diubah. Set mungkin tampak sangat mirip dengan daftar, tetapi kenyataannya, mereka sangat berbeda

Pertama, mereka hanya boleh berisi elemen unik, jadi tidak boleh ada duplikat. Dengan demikian, set dapat digunakan untuk menghapus duplikat dari daftar. Selanjutnya, seperti himpunan dalam matematika, mereka memiliki operasi unik yang dapat diterapkan padanya, seperti penyatuan himpunan, irisan, dll. Terakhir, mereka sangat efisien dalam memeriksa apakah elemen tertentu terkandung dalam suatu himpunan

Jadi, kelebihan dari himpunan adalah

  • Kami dapat melakukan operasi unik (tetapi serupa) pada mereka
  • Mereka jauh lebih cepat daripada daftar jika kita ingin memeriksa apakah elemen tertentu terkandung dalam satu set

Tapi kontra mereka

  • Set secara intrinsik tidak terurut. Jika kami peduli untuk menjaga urutan penyisipan, itu bukan pilihan terbaik kami
  • Kami tidak dapat mengubah elemen set dengan mengindeks seperti yang kami bisa dengan daftar

Contoh

Untuk membuat satu set, kita dapat menggunakan tanda kurung kurawal (

# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
7) atau konstruktor
    ['3', 4]
1. Jangan bingung antara himpunan dengan kamus (yang juga menggunakan tanda kurung kurawal), karena himpunan tidak mengandung
# Assign the third and the fourth elements of l2 to a new list
l5 = l2[2:]

# Print out the resulting list
print(l5)
6 pasang. Namun, perhatikan bahwa seperti kunci kamus, hanya struktur atau tipe data yang tidak dapat diubah yang diizinkan sebagai elemen set. Kali ini, mari kita langsung membuat kumpulan populasi

List l1: []
List l2: [1, 2, '3', 4]
List l3: []
List l4: [1, 2, 3]
_9
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
0

Dalam contoh kedua, kami menggunakan iterable (seperti daftar) untuk membuat satu set. Namun, jika kami menggunakan daftar sebagai elemen set, Python akan membuat kesalahan. Menurut Anda mengapa itu terjadi? . membaca definisi himpunan

Untuk berlatih, Anda dapat mencoba menggunakan struktur data lain untuk membuat kumpulan

Seperti rekan matematika mereka, kami dapat melakukan operasi tertentu di set kami. Sebagai contoh, kita dapat membuat gabungan dari himpunan, yang pada dasarnya berarti menggabungkan dua himpunan menjadi satu. Namun, jika dua himpunan memiliki dua atau lebih nilai yang identik, himpunan yang dihasilkan hanya akan berisi salah satu dari nilai tersebut. Ada dua cara untuk membuat serikat pekerja. baik dengan metode

    ['3', 4]
_3 atau dengan operator bar vertikal (
    ['3', 4]
4). Mari kita buat contoh

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
1
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
2

Dalam penyatuan di atas, kita dapat melihat bahwa

    ['3', 4]
5 dan
    ['3', 4]
6 hanya muncul sekali, meskipun kita menggabungkan dua set

Selanjutnya, kita mungkin juga ingin mengetahui nama mana yang muncul di kedua set. Ini dapat dilakukan dengan metode

    ['3', 4]
_7 atau ampersand (
    ['3', 4]
8)

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
3
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
4

    ['3', 4]
6 dan
    ['3', 4]
5 muncul di kedua set;

Contoh terakhir dari operasi himpunan adalah perbedaan antara dua himpunan. Dengan kata lain, operasi ini akan mengembalikan semua elemen yang ada di set pertama, tetapi tidak di set kedua. Kita dapat menggunakan metode

print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
_1 atau tanda minus (
print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
2)

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
5
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
6

Apa yang akan terjadi jika Anda menukar posisi set?

Ada operasi lain yang dapat digunakan dalam set. Untuk informasi lebih lanjut, lihat tutorial ini, atau

Terakhir, sebagai bonus, mari bandingkan seberapa cepat menggunakan set, jika dibandingkan dengan daftar, untuk memeriksa keberadaan elemen di dalamnya

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
7
# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
8

Jelas bahwa menggunakan set jauh lebih cepat daripada menggunakan daftar. Perbedaan ini akan meningkat untuk set dan daftar yang lebih besar

Tupel

Tuple hampir identik dengan daftar, sehingga berisi kumpulan elemen yang dipesan, kecuali untuk satu properti. mereka tidak berubah. Kami akan menggunakan tupel jika kami membutuhkan struktur data yang, setelah dibuat, tidak dapat dimodifikasi lagi. Selain itu, tupel dapat digunakan sebagai kunci kamus jika semua elemen tidak dapat diubah

Selain itu, tupel memiliki properti yang sama dengan daftar. Untuk membuat tuple, kita bisa menggunakan tanda kurung bulat (

print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
3) atau konstruktor
print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
4. Kita dapat dengan mudah mengubah list menjadi tuple dan sebaliknya (ingat bahwa kita membuat list
print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
5 dari sebuah tuple)

Pro dari tupel adalah

  • Mereka tidak dapat diubah, jadi setelah dibuat, kami yakin bahwa kami tidak akan mengubah isinya secara tidak sengaja
  • Mereka dapat digunakan sebagai kunci kamus jika semua elemennya tidak dapat diubah

Kerugian dari tupel adalah

  • Kita tidak dapat menggunakannya saat kita harus bekerja dengan objek yang dapat dimodifikasi;
  • Tuple tidak dapat disalin
  • Mereka menempati lebih banyak memori daripada daftar

Contoh

Mari kita lihat beberapa contoh

# Print out the first element of list l2
print(f"The first element of the list l2 is {l2[0]}.")
print()

# Print out the third element of list l4
print(f"The third element of the list l4 is {l4[2]}.")
9
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
0

Apakah mungkin membuat tupel dari struktur data lain (mis. e. , kumpulan atau kamus)?

Tuple tidak dapat diubah; . Mari kita lihat apa yang terjadi jika kita mencoba melakukannya

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
1
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
2

Ini adalah

print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
_6. Tuple tidak mendukung penetapan item karena tidak dapat diubah. Untuk mengatasi masalah ini, kita dapat mengubah tuple ini menjadi sebuah list

Namun, kita dapat mengakses elemen dalam tupel berdasarkan indeksnya, seperti dalam daftar

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
3
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
4

Tuple juga dapat digunakan sebagai kunci kamus. Misalnya, kami dapat menyimpan elemen tertentu dan indeks berurutannya dalam sebuah tupel dan memberikan nilai padanya

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
5

Jika Anda menggunakan tuple sebagai kunci kamus, tuple harus berisi objek yang tidak dapat diubah

    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
6
    The first element of the list l2 is 1.

    The third element of the list l4 is 3.
7

Kami mendapatkan

print(f"List l2: {l2}")

# Access the second and the third elements of list l2 (these are the indices 1 and 2)
print(f"Second and third elements of list l2: {l2[1:3]}")
_6 jika tupel/kunci kami berisi objek yang dapat diubah (daftar dalam kasus ini)

Kesimpulan

Mari kita selesaikan apa yang telah kita pelajari dari tutorial ini

  • Struktur data adalah konsep dasar dalam pemrograman, yang diperlukan untuk menyimpan dan mengambil data dengan mudah
  • Python memiliki empat struktur data utama yang terbagi antara tipe yang dapat diubah (daftar, kamus, dan set) dan tidak dapat diubah (tupel)
  • Daftar berguna untuk menampung kumpulan objek terkait yang heterogen
  • Kami membutuhkan kamus kapan pun kami perlu menautkan kunci ke suatu nilai dan untuk mengakses beberapa data dengan cepat menggunakan kunci, seperti di kamus dunia nyata
  • Set memungkinkan kita untuk melakukan operasi, seperti persimpangan atau perbedaan, pada mereka;
  • Tuple mirip dengan daftar, tetapi tidak dapat diubah;

Tutorial Python Ilmu Data

Bisakah kita membuat struktur data dengan python?

Tentang Penulis

Artur Sannikov

Saya seorang mahasiswa Biologi Molekuler di Universitas Padua, Italia yang tertarik dengan bioinformatika dan analisis data

Mengapa Python tidak digunakan untuk struktur data?

Konsumsi Memori . Untuk tugas intensif memori apa pun, Python bukanlah pilihan yang baik. Itu sebabnya tidak digunakan untuk tujuan itu. Konsumsi memori Python juga tinggi, karena fleksibilitas tipe datanya.

Bisakah saya melakukan struktur data dan algoritme dengan Python?

Dalam kursus Struktur dan Algoritma Data Melalui Python In Depth ini, program Python digunakan untuk mengimplementasikan berbagai konsep, tetapi Anda dapat dengan mudah mengkodekannya dalam bahasa pemrograman lain seperti C++, Java . .

Bagaimana Anda menggunakan struktur data dengan Python?

4. 3 Cara Menerapkan Struktur Stack Data Dengan Python . Daftar memungkinkan Anda menambahkan item baru ke tumpukan yang ada dengan metode append(), dan menghapus elemen terakhir yang ditambahkan dengan metode pop(). use lists. Lists allow you to add new items to the existing stack with the append() method, and remove the last element added with the pop() method.

Apakah Python OK untuk DSA?

Struktur data dan algoritme tidak spesifik bahasa dan karenanya Anda dapat menggunakan bahasa apa pun baik itu JavaScript, C, C++, Java atau Python . Anda harus merasa nyaman dengan sintaks bahasa dan Anda siap melakukannya.