Di Python, terdapat beberapa struktur data terbina dalam yang melayani tujuan yang berbeza berdasarkan ciri-ciri mereka, seperti mutabilitas, perintah, dan jenis elemen yang dapat mereka anggap. Mari kita melalui setiap struktur data ini:
Senarai :
[]
, misalnya, my_list = [1, 2, 3]
.Tuples :
()
, misalnya, my_tuple = (1, 2, 3)
.Tetapkan :
set
) atau tidak berubah ( frozenset
).{}
atau fungsi set()
, misalnya, my_set = {1, 2, 3}
atau my_set = set([1, 2, 3])
.Kamus :
{}
dengan pasangan nilai kunci, misalnya, my_dict = {'key1': 'value1', 'key2': 'value2'}
. Jika anda perlu menyimpan item yang boleh dimakan, diperintahkan, pilihan terbaik akan menjadi senarai . Senarai direka untuk menyimpan urutan item di mana anda perlu mengekalkan pesanan dan dapat mengubah suai urutan selepas ia dibuat. Anda boleh menambah atau mengeluarkan elemen menggunakan kaedah seperti append()
, insert()
, pop()
, dan remove()
, dan anda juga boleh mengubah elemen individu dengan indeks mereka.
Contoh Menggunakan senarai untuk item yang boleh dimainkan, diperintahkan:
<code class="python">my_list = [1, 2, 3] my_list.append(4) # Adds 4 to the end my_list.insert(1, 1.5) # Inserts 1.5 at index 1 my_list[2] = 2.5 # Changes the value at index 2 to 2.5 print(my_list) # Output: [1, 1.5, 2.5, 3, 4]</code>
Untuk mendapatkan item dengan cekap menggunakan kekunci di Python, anda harus menggunakan kamus . Kamus direka khusus untuk carian berasaskan kunci yang cepat, dengan kerumitan masa purata O (1) untuk mengakses elemen. Ini menjadikan mereka sesuai untuk situasi di mana anda perlu mengakses nilai -nilai yang kerap oleh kekunci yang berkaitan.
Contoh menggunakan kamus untuk pengambilan semula berasaskan kunci:
<code class="python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'} print(my_dict['name']) # Output: Alice print(my_dict.get('age')) # Output: 30</code>
Kaedah get()
amat berguna kerana ia membolehkan anda menentukan nilai lalai jika kunci tidak dijumpai, yang dapat membantu mengelakkan pengecualian KeyError
:
<code class="python">print(my_dict.get('country', 'Unknown')) # Output: Unknown</code>
Menggunakan set untuk ujian keahlian menawarkan kelebihan prestasi yang signifikan. Kerumitan masa untuk ujian keahlian dalam set adalah O (1) secara purata, yang bermaksud ia sangat berkesan untuk dataset yang besar. Ini kerana set dilaksanakan menggunakan jadual hash, yang membolehkan carian cepat.
Contoh menggunakan set untuk ujian keahlian:
<code class="python">my_set = {1, 2, 3, 4, 5} print(3 in my_set) # Output: True print(6 in my_set) # Output: False</code>
Sebaliknya, memeriksa keahlian dalam senarai mempunyai kerumitan masa O (n), yang boleh menjadi lambat untuk senarai besar. Inilah perbandingan:
<code class="python">my_list = [1, 2, 3, 4, 5] print(3 in my_list) # Output: True, but slower for larger lists</code>
Oleh itu, jika operasi utama anda melibatkan pemeriksaan sama ada item wujud dalam koleksi, menggunakan set secara dramatik dapat meningkatkan prestasi kod anda, terutama dengan dataset yang lebih besar.
Atas ialah kandungan terperinci Apakah perbezaan antara senarai, tuple, set, dan kamus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!