Rumah >pembangunan bahagian belakang >Tutorial Python >Tutorial Python - Struktur ata

Tutorial Python - Struktur ata

DDD
DDDasal
2024-12-23 19:36:15265semak imbas

pengenalan

Struktur data ialah alat untuk menyusun data. Bukan sahaja untuk penyimpanan tetapi juga untuk menyelesaikan beberapa masalah. Terdapat beberapa struktur data dalam Python termasuk senarai, kamus, tuple, dan set.

Senaraikan

Senarai ialah struktur data yang menyimpan item secara berurutan menggunakan indeks. Ini ialah ilustrasi struktur data senarai.

Python Tutorial - ata Structure

Terdapat banyak cara untuk membuat senarai dalam Python.

  1. Mulakan nilai terus di dalam senarai.
items = [1,2,3,4]
  1. Mulakan senarai kosong.
items = []

Item di dalam senarai boleh diakses terus melalui indeks.

items = [1,2,3,4,5]

# access item at index 2
result = items[2]

print(result) # returns 3

Semua item dalam senarai boleh diambil menggunakan gelung for. Ini adalah contoh.

# create a new list
items = [1,2,3,4,5]

# retrieve each item inside a list
for item in items:
    print(item)

Output

1
2
3
4
5

Berdasarkan kod di atas, senarai yang dipanggil item dibuat dengan item yang diperuntukkan. Setiap item diambil menggunakan gelung for.

Senaraikan Operasi Asas

Fungsi append() menambah item baharu pada senarai. Ini ialah contoh penggunaan append().

# create empty list
shopping_list = []

# add some items
shopping_list.append("apple")
shopping_list.append("milk")
shopping_list.append("cereal")

# retrieve all items
for item in shopping_list:
    print(item)

Output

apple
milk
cereal

Lampiran() digambarkan dalam gambar di bawah.

Python Tutorial - ata Structure

Selain fungsi append(), fungsi insert() menambah item baharu dalam indeks tertentu. Ini adalah contoh.

items = ["apple","banana","mango","coffee"]

# add new item at index 1
items.insert(1,"cereal")

# retrieve all items
for item in items:
    print(item)

Output

apple
cereal
banana
mango
coffee

Sisipan() digambarkan dalam gambar di bawah.

Python Tutorial - ata Structure

Mengemas kini item dalam senarai adalah mudah. Hanya nyatakan indeks item kemudian tukar dengan item yang dikemas kini.

# create a list
drinks = ["milkshake","black tea","banana milk","mango juice"]

# update value at index 2
drinks[2] = "chocolate milk"

print(f"value at index 2: {drinks[2]}")

Output

value at index 2: chocolate milk

Fungsi remove() mengalih keluar item daripada senarai. Ini adalah contoh.

items = ["apple","banana","mango","coffee"]

# remove "mango"
items.remove("mango")

# remove item at index 1
items.remove(items[1])

print("after removed")
for item in items:
    print(item)

Output

after removed
apple
coffee

Item di dalam senarai boleh dipilih dengan menentukan indeks mula dan indeks akhir senarai. Ini ialah struktur asas untuk memilih item dalam senarai.

list_name[start:end]

Item dipilih daripada indeks permulaan sehingga tetapi tidak termasuk indeks akhir. Ini ialah contoh memilih item dalam senarai.

items = ["apple","mango","papaya","coconut","banana"]

# select items from index 1 up to but not including index 3
selected = items[1:3]

# show all items
print(f"all items: {items}")

# show the selected items
print(f"selected: {selected}")

Output

all items: ['apple', 'mango', 'papaya', 'coconut', 'banana']
selected: ['mango', 'papaya']

Kefahaman Senarai

Pemahaman senarai ialah cara "berfungsi" untuk membuat senarai. Untuk memahami pemahaman senarai, mari kita lihat contoh mencipta senarai yang mengandungi nilai genap menggunakan pendekatan berulang.

evens = []

for i in range(1,11):
    evens.append(i*2)

print(evens)

Output

items = [1,2,3,4]

Berdasarkan kod di atas, nombor genap dijana menggunakan pendekatan berulang dengan gelung for. Contoh di atas boleh dicapai juga menggunakan pemahaman senarai. Ini ialah contoh menjana nombor genap menggunakan pemahaman senarai.

items = []

Output

items = [1,2,3,4,5]

# access item at index 2
result = items[2]

print(result) # returns 3

Berdasarkan kod di atas, pendekatan pemahaman senarai menyediakan kod yang lebih ringkas dan hasil yang sama seperti pendekatan berulang sebelumnya.

Kefahaman senarai boleh digunakan bersama-sama dengan jika bercabang. Dalam contoh ini, pemahaman senarai digunakan untuk menapis nilai tertentu berdasarkan keadaan tertentu.

# create a new list
items = [1,2,3,4,5]

# retrieve each item inside a list
for item in items:
    print(item)

Output

1
2
3
4
5

Ini ialah versi berulang bagi contoh sebelumnya.

# create empty list
shopping_list = []

# add some items
shopping_list.append("apple")
shopping_list.append("milk")
shopping_list.append("cereal")

# retrieve all items
for item in shopping_list:
    print(item)

Senarai Berbilang Dimensi

Senarai boleh disimpan dalam pendekatan pelbagai dimensi seperti matriks. Ini ialah contoh mengisytiharkan senarai berbilang dimensi untuk menyimpan matriks nombor.

apple
milk
cereal

Item boleh diakses dengan kurungan segi empat sama berganda ([x][y]) dengan menyatakan x yang mewakili indeks senarai utama manakala y mewakili indeks item di dalam senarai bersarang. Ini ialah ilustrasi matriks nombor.

Python Tutorial - ata Structure

Item di dalam senarai berbilang dimensi boleh diambil dengan menggunakan gelung bersarang untuk.

items = ["apple","banana","mango","coffee"]

# add new item at index 1
items.insert(1,"cereal")

# retrieve all items
for item in items:
    print(item)

Output

apple
cereal
banana
mango
coffee

Kamus

Kamus ialah struktur data yang menyimpan rekod sebagai pasangan nilai kunci. Setiap kunci mestilah unik, manakala nilai pendua dibenarkan. Ini menggambarkan struktur data kamus:

Python Tutorial - ata Structure

Terdapat banyak cara untuk mencipta kamus:

  1. Buat kamus dengan rekod yang dimulakan.
# create a list
drinks = ["milkshake","black tea","banana milk","mango juice"]

# update value at index 2
drinks[2] = "chocolate milk"

print(f"value at index 2: {drinks[2]}")
  1. Buat kamus kosong.
value at index 2: chocolate milk

Semua rekod di dalam kamus boleh diambil menggunakan gelung for. Ini adalah contoh.

items = ["apple","banana","mango","coffee"]

# remove "mango"
items.remove("mango")

# remove item at index 1
items.remove(items[1])

print("after removed")
for item in items:
    print(item)

Output

after removed
apple
coffee

Operasi Asas Kamus

Untuk memasukkan item baharu dalam kamus, nyatakan pasangan nilai kunci item tersebut. Pastikan kuncinya unik.

list_name[start:end]

Ini ialah contoh memasukkan item baharu dalam kamus.

items = ["apple","mango","papaya","coconut","banana"]

# select items from index 1 up to but not including index 3
selected = items[1:3]

# show all items
print(f"all items: {items}")

# show the selected items
print(f"selected: {selected}")

Output

all items: ['apple', 'mango', 'papaya', 'coconut', 'banana']
selected: ['mango', 'papaya']

Untuk mengemas kini item dalam kamus, nyatakan kunci item kemudian masukkan nilai yang dikemas kini.

evens = []

for i in range(1,11):
    evens.append(i*2)

print(evens)

Output

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Kunci dan nilai dalam kamus boleh diakses secara bebas menggunakan kaedah yang berbeza.

evens = [x*2 for x in range(1,11)] # using list comprehension
print(evens)

Output

items = [1,2,3,4]

Kaedah pop() mengalih keluar item daripada kamus berdasarkan kekunci yang diberikan.

items = []

Output

items = [1,2,3,4,5]

# access item at index 2
result = items[2]

print(result) # returns 3

Kaedah clear() mengalih keluar semua item dalam kamus.

# create a new list
items = [1,2,3,4,5]

# retrieve each item inside a list
for item in items:
    print(item)

Output

1
2
3
4
5

Tuple

Tuple ialah struktur data yang tidak boleh diubah untuk menyimpan banyak nilai. Tuple mungkin mengandungi nilai boleh ubah. Terdapat dua cara untuk mencipta tupel baharu.

  1. Buat tuple dengan nilai yang ditetapkan.
# create empty list
shopping_list = []

# add some items
shopping_list.append("apple")
shopping_list.append("milk")
shopping_list.append("cereal")

# retrieve all items
for item in shopping_list:
    print(item)

Output

apple
milk
cereal
  1. Buat tuple kosong.
items = ["apple","banana","mango","coffee"]

# add new item at index 1
items.insert(1,"cereal")

# retrieve all items
for item in items:
    print(item)

Operasi Asas Tuple

Tuple tidak boleh diubah, yang bermaksud bahawa nilainya tidak boleh diubah atau dikemas kini setelah ia dibuat.

apple
cereal
banana
mango
coffee

Nilai daripada tupel boleh diperoleh semula menggunakan "tuple unpacking" (konsep ini serupa dengan pemusnahan objek dalam JavaScript).

Apabila membongkar, saiz nilai yang dibongkar mestilah sama dengan saiz tupel.

# create a list
drinks = ["milkshake","black tea","banana milk","mango juice"]

# update value at index 2
drinks[2] = "chocolate milk"

print(f"value at index 2: {drinks[2]}")

Output

value at index 2: chocolate milk

Tetapkan

Set ialah struktur data tidak tertib yang hanya mengandungi item unik. Terdapat banyak cara untuk membuat set.

items = ["apple","banana","mango","coffee"]

# remove "mango"
items.remove("mango")

# remove item at index 1
items.remove(items[1])

print("after removed")
for item in items:
    print(item)

Set kosong boleh dibuat menggunakan fungsi set().

after removed
apple
coffee

Struktur data yang ditetapkan mengalih keluar nilai pendua secara automatik.

list_name[start:end]

Output

items = ["apple","mango","papaya","coconut","banana"]

# select items from index 1 up to but not including index 3
selected = items[1:3]

# show all items
print(f"all items: {items}")

# show the selected items
print(f"selected: {selected}")

Nilai di dalam set boleh diakses menggunakan gelung for.

all items: ['apple', 'mango', 'papaya', 'coconut', 'banana']
selected: ['mango', 'papaya']

Output

evens = []

for i in range(1,11):
    evens.append(i*2)

print(evens)

Tetapkan Operasi Asas

Struktur data set menyediakan banyak operasi seperti kesatuan, persilangan, perbezaan dan perbezaan simetri.

Operasi kesatuan mengembalikan semua item dalam kedua-dua set.

Python Tutorial - ata Structure

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Output

evens = [x*2 for x in range(1,11)] # using list comprehension
print(evens)

Operasi persimpangan mengembalikan semua item yang wujud dalam persimpangan set.

Python Tutorial - ata Structure

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Output

samples = [12,32,55,10,2,57,66]

result = [s for s in samples if s % 4 == 0] # using list comprehension

print(result)

Operasi perbezaan mengembalikan semua item yang hanya wujud dalam set tertentu.

Python Tutorial - ata Structure

[12, 32]

Output

samples = [12,32,55,10,2,57,66]

result = []

for s in samples:
    if s % 4 == 0:
        result.append(s)

print(result)

Operasi perbezaan simetri mengembalikan semua item yang wujud dalam mana-mana set, tetapi tidak di persimpangan.

Python Tutorial - ata Structure

matrix = [
 [1,2,3],
 [4,5,6],
 [7,8,9],
]

Output

items = [1,2,3,4]

Pengenalan kepada Fungsi

Fungsi ini ialah unit boleh panggil yang mengandungi arahan, bertujuan untuk mengurangkan pertindihan kod dan mengatur tugas yang rumit. Terdapat dua jenis: fungsi void (tiada nilai pulangan) dan fungsi yang mengembalikan nilai.

Ini ialah struktur asas fungsi dalam Python.

items = []

Ini ialah contoh fungsi void (tiada nilai pulangan) dalam Python.

items = [1,2,3,4,5]

# access item at index 2
result = items[2]

print(result) # returns 3

Output

# create a new list
items = [1,2,3,4,5]

# retrieve each item inside a list
for item in items:
    print(item)

Berdasarkan kod di atas, fungsi yang dipanggil hello() dicipta. Fungsi dipanggil dengan menyatakan nama fungsi diikuti dengan kurungan ().

Ini adalah contoh fungsi dengan nilai pulangan.

1
2
3
4
5

Output

# create empty list
shopping_list = []

# add some items
shopping_list.append("apple")
shopping_list.append("milk")
shopping_list.append("cereal")

# retrieve all items
for item in shopping_list:
    print(item)

Berdasarkan kod di atas, fungsi yang dipanggil add() dicipta untuk menjumlahkan dua nombor. Nilai pulangan fungsi add() disimpan di dalam pembolehubah hasil.

Apabila bekerja dengan fungsi nilai pulangan, pastikan nilai yang dikembalikan sedang digunakan.

Topik fungsi dalam Python akan diterangkan secara terperinci dalam bab yang berasingan.

Contoh - Aplikasi Senarai Todo Mudah

Mari kita buat aplikasi senarai tugasan yang mudah. Aplikasi ini menggunakan senarai sebagai storan untuk todos dan menggunakan fungsi untuk kod yang lebih bersih.

Langkah pertama ialah mengimport pakej uuid dan mencipta senarai yang dipanggil todos untuk menyimpan rekod todo. Pakej uuid digunakan sebagai pengecam (ID) untuk rekod todo.

apple
milk
cereal

Selepas itu, cipta fungsi view_todos() untuk mendapatkan semula semua rekod todo. Semua rekod tugasan diambil menggunakan gelung.

items = ["apple","banana","mango","coffee"]

# add new item at index 1
items.insert(1,"cereal")

# retrieve all items
for item in items:
    print(item)

Buat fungsi view_todo() untuk mendapatkan semula rekod todo mengikut ID yang ditentukan. Setiap rekod todo disemak di dalam gelung for untuk menyemak sama ada ID todo semasa adalah sama dengan ID yang ditentukan. Jika sepadan, maka rekod todo dipaparkan.

apple
cereal
banana
mango
coffee

Buat fungsi create_todo() untuk mencipta todo baharu. Rekod todo diwakili sebagai kamus dengan medan id dan tajuk.

# create a list
drinks = ["milkshake","black tea","banana milk","mango juice"]

# update value at index 2
drinks[2] = "chocolate milk"

print(f"value at index 2: {drinks[2]}")

Buat fungsi update_todo() untuk mengemas kini tugasan. Dalam fungsi ini, rekod todo dikemas kini mengikut ID yang ditentukan.

value at index 2: chocolate milk

Buat fungsi delete_todo() untuk memadamkan todo. Dalam fungsi ini, rekod todo dipadamkan oleh ID yang ditentukan.

items = ["apple","banana","mango","coffee"]

# remove "mango"
items.remove("mango")

# remove item at index 1
items.remove(items[1])

print("after removed")
for item in items:
    print(item)

Akhir sekali, buat fungsi yang dipanggil display_menu() untuk memaparkan menu utama aplikasi.

after removed
apple
coffee

Ini adalah kod lengkap.

list_name[start:end]

Ini ialah output aplikasi.

Python Tutorial - ata Structure

Sumber

  • Struktur Data dalam Python.

Saya harap artikel ini membantu anda mempelajari Python. Jika anda mempunyai sebarang maklum balas, sila beritahu saya di bahagian komen.

Atas ialah kandungan terperinci Tutorial Python - Struktur ata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Mulakan dengan PythonArtikel seterusnya:Mulakan dengan Python