Struktur Data Python Demystified: Panduan Mesra untuk Senarai, Tuples, Dicts, Arrays dan Sets

WBOY
Lepaskan: 2024-08-23 06:00:02
asal
584 orang telah melayarinya

Python Data Structures Demystified: A Friendly Guide to Lists, Tuples, Dicts, Arrays, and Sets

Hai, peminat Python! ? Pernah mendapati diri anda merenung kod anda, tertanya-tanya sama ada anda perlu menggunakan senarai, tuple atau mungkin kamus? Anda tidak bersendirian! Hari ini, kami akan memecahkan struktur data Python ini dengan cara yang diharapkan dapat membuatkan anda "Aha!" bukannya "Hah?". Jadi dapatkan minuman kegemaran anda, dan mari selami!

The Fantastic Five: Temui Skuad Struktur Data Anda

Python memberi kami sekumpulan alatan hebat untuk menyusun data kami, tetapi hari ini kami memfokuskan pada lima fab: senarai, tupel, kamus, tatasusunan dan set. Setiap satu mempunyai kuasa besar sendiri dan mengetahui masa untuk menggunakannya yang boleh menjadikan kod anda lebih pantas, bersih dan lebih baik.

1. Senarai: Pisau Tentera Swiss ?

Senarai adalah seperti rakan yang sentiasa bersedia untuk apa sahaja. Perlu menyimpan banyak barang dan mungkin menukarnya kemudian? Senarai mendapat sokongan anda.

shopping_list = ['apples', 'bananas', 'chocolate']
shopping_list.append('coffee')  # Because, priorities!
Salin selepas log masuk

Bila hendak digunakan:

  • Anda memerlukan koleksi item yang fleksibel dan dipesan
  • Data anda mungkin berubah (tambah/alih keluar item)
  • Anda mahu melakukan senarai-y perkara seperti mengisih atau membalikkan

Petua Pro: Senarai sangat bagus untuk kebanyakan kes, tetapi senarai ini boleh membosankan memori dengan set data yang besar.

2. Tuples: Yang Boleh Dipercayai ?️‍♀️

Fikirkan tupel sebagai senarai yang popular di gim dan menjadi sangat kuat. Ia tidak boleh ubah, bermakna sebaik sahaja anda menciptanya, ia akan menjadi seperti batu.

coordinates = (33.9416, -118.4085)  # LAX airport coordinates
Salin selepas log masuk

Bila hendak digunakan:

  • Anda mempunyai data yang tidak sepatutnya berubah (seperti koordinat)
  • Anda mengembalikan berbilang nilai daripada fungsi
  • Anda memerlukan versi senarai yang lebih cekap memori

Fakta menyeronokkan: Kerana tupel tidak boleh diubah, ia boleh digunakan sebagai kunci kamus. Cuba itu dengan senarai, dan Python akan memberi anda mata sebelah.

3. Kamus: Pustakawan ?

Kamus adalah seperti pustakawan pintar dunia Python. Mereka menyusun maklumat mengikut kekunci, menjadikannya sangat pantas untuk mencari perkara yang anda perlukan.

book = {
    'title': 'The Hitchhikers Guide to the Galaxy',
    'author': 'Douglas Adams',
    'answer_to_everything': 42
}
Salin selepas log masuk

Bila hendak digunakan:

  • Anda memerlukan carian pantas menggunakan kunci unik
  • Anda sedang bekerja dengan data seperti JSON
  • Anda mahu mengaitkan nilai dengan kunci (seperti kamus sebenar!)

Helah hebat: Mulai Python 3.7, kamus mengingati susunan yang anda masukkan. Nampaknya mereka mendapat peningkatan memori!

4. Susunan: Atlet Khusus ?‍♂️

Tatasusunan adalah seperti senarai yang memutuskan untuk memfokus pada satu jenis data dan menjadi sangat mahir dalam hal itu. Ia tidak digunakan sekerap dalam Python setiap hari, tetapi ia bersinar dalam senario tertentu.

import array
numbers = array.array('i', [1, 2, 3, 4, 5])  # An array of integers
Salin selepas log masuk

Bila hendak digunakan:

  • Anda berurusan dengan sejumlah besar data berangka
  • Kecekapan ingatan adalah penting
  • Anda melakukan banyak operasi matematik (terutamanya dengan tatasusunan NumPy)

Perhatian: Untuk kebanyakan tugas Python, anda mungkin akan kekal dengan senarai. Tetapi apabila anda memerlukan peningkatan prestasi tambahan untuk pecah nombor, tatasusunan (terutama tatasusunan NumPy) adalah kawan terbaik anda.

5. Set: The Unique Snowflakes ❄️

Set adalah seperti senarai yang membenci pendua. Ia sesuai apabila anda perlu memastikan setiap item hanya muncul sekali.

unique_visitors = {'alice', 'bob', 'charlie', 'alice'}  # Alice only counted once!
print(unique_visitors)  # Output: {'bob', 'alice', 'charlie'}
Salin selepas log masuk

Bila hendak digunakan:

  • Anda perlu menghapuskan pendua daripada koleksi
  • Anda sedang melakukan operasi set (kesatuan, persimpangan, dll.)
  • Anda ingin menyemak dengan cepat sama ada item wujud dalam koleksi

Ciri hebat: Tetapkan operasi dalam Python adalah sangat intuitif. Perlukan item yang terdapat dalam kedua-dua set A dan set B? Buat A & B sahaja. Fikiran! ?

Memilih Struktur Data Anda: Panduan Pantas

Masih tidak pasti yang mana untuk digunakan? Berikut ialah pokok keputusan pantas:

  1. Perlu mengekalkan ketertiban dan mengubah suai kandungan? → Senarai
  2. Ada data tetap yang tidak akan berubah? → Tuple
  3. Mahukan carian pantas menggunakan kunci unik? → Kamus
  4. Berurusan dengan banyak data berangka dan memerlukan prestasi? → Tatasusunan (pertimbangkan NumPy)
  5. Perlukan koleksi item unik? → Tetapkan

Membungkus

Begitulah, kawan-kawan! Lawatan ribut ke atas lima struktur data Python yang hebat. Ingat, tiada penyelesaian satu saiz yang sesuai untuk semua. Struktur data terbaik bergantung pada keperluan khusus anda, operasi yang paling kerap anda lakukan dan kadangkala hanya pilihan peribadi.

Semakin anda bekerja dengan struktur ini, semakin intuitif pilihan anda. Jadi teruskan dan susun data anda seperti profesional! Dan ingat, dalam kata-kata bijak Python zen: "Harus ada satu-- dan sebaik-baiknya hanya satu --cara yang jelas untuk melakukannya."

Selamat pengekodan, Pythonista! ?✨

Atas ialah kandungan terperinci Struktur Data Python Demystified: Panduan Mesra untuk Senarai, Tuples, Dicts, Arrays dan Sets. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!