Bagaimana Susunan dan Senarai Bekerja di Python

Bagaimana Susunan dan Senarai Bekerja di Python

Susunan dan senarai adalah beberapa struktur data yang paling berguna dalam pengaturcaraan - walaupun sedikit orang benar-benar menggunakannya sepenuhnya. Hari ini saya akan membincangkan anda asas-asasnya, bersama beberapa contoh Python yang mudah.





Prasyarat

Tidak banyak yang perlu anda ketahui terlebih dahulu untuk mempelajari konsep-konsep ini. Pengetahuan asas mengenai paradigma pengaturcaraan dan Python akan sangat membantu, tetapi tidak diperlukan. Baca kami contoh asas Python jika anda tidak tahu hendak bermula dari mana. Sekiranya anda fikir Python adalah bahasa yang tidak berguna, lihat alasan kami mengapa tidak.





Walaupun idea asas berikut dapat diterapkan pada bahasa apa pun, saya akan menunjukkan contohnya di Python. Ini adalah bahasa yang mudah dipelajari dan menyediakan platform yang sangat baik untuk memahami apa yang sedang berlaku. Di samping itu, tutorialspoint.com menyediakan penterjemah Python dalam talian yang sangat baik - anda bahkan tidak perlu memasang Python jika anda tidak mahu (jika ya, lihat panduan kami untuk persekitaran maya).





Struktur Data

Apa itu a struktur data ? Pada tahap paling asas, struktur data adalah cara menyimpan data dengan cekap. Mudah dikelirukan kerana struktur data tidak jenis data . Jenis data memberitahu penyusun (atau dalam kes Python jurubahasa) bagaimana data dimaksudkan untuk digunakan. Struktur data menentukan operasi yang dapat dilakukan, dan sering menerapkan aturan dan peraturan khusus.

Anda mungkin pernah mendengar beberapa linear jenis data (elemen berurutan):



  • Array
  • Matrik
  • Jadual Pencarian

Begitu juga, senarai sering mengandungi peraturan dan kaedah untuk mengatur cara mereka beroperasi. Beberapa senarai biasa adalah:

  • Senarai Terpaut
  • Senarai Berganda Berganda
  • Senarai Array atau Array Dinamik

Terdapat banyak struktur data yang berbeza. Anda mungkin pernah mendengar pokok binari , graf , atau hash . Saya akan membincangkan asas-asasnya hari ini, tetapi anda mungkin ingin belajar lebih banyak apabila anda selesa.





Array

Mari kita mulakan pada permulaan. Susunan adalah kumpulan ringkas (berkaitan) nilai. Nilai-nilai ini disebut unsur. Mereka biasanya boleh menjadi jenis data yang anda suka, termasuk objek atau senarai lain! Peringatan utama dengan tatasusunan adalah bahawa semua data harus sama - anda tidak boleh menyimpan rentetan dan bilangan bulat campuran. Anda hampir selalu harus menentukan berapa banyak elemen yang ingin anda simpan. Saiz berubah atau tatasusunan dinamik memang ada, tetapi susunan panjang tetap lebih mudah untuk dimulakan.

Python merumitkan keadaan. Perkara ini memudahkan anda, tetapi tidak selalu mematuhi definisi struktur data yang ketat. Sebilangan besar objek di Python biasanya ada senarai, jadi membuat susunan sebenarnya lebih berfungsi. Berikut adalah beberapa kod permulaan:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Baris pertama mengimport susunan modul - yang diperlukan untuk berfungsi dengan tatasusunan. Baris kedua membuat susunan baru yang dipanggil nombor dan memulakannya dengan nilai 2, 4, 6, dan 8. Setiap elemen diberi bilangan bulat nilai yang disebut a kunci atau indeks . Kekunci bermula pada sifar , begitu nombor [0] akan mengakses elemen pertama ( 2 ):

Anda mungkin tertanya-tanya apa itu 'saya' digunakan untuk. Ini adalah kod taip yang memberitahu Python array akan menyimpan bilangan bulat. Perkara seperti ini biasanya tidak diperlukan di Python (ia akan dianggap 'unpythonic'). Sebabnya mudah. Array di Python adalah pembungkus yang sangat nipis pada tatasusunan C sistem operasi anda. Ini bermakna mereka cepat dan stabil, tetapi mereka mungkin tidak selalu mematuhi sintaks Python.

bagaimana untuk mengetahui video apa yang dihapuskan di youtube

Anda tidak boleh menyimpan jenis campuran dalam tatasusunan ini. Katakan anda mahu menyimpan rentetan 'makeuseof.com':

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Ini tidak akan dibenarkan dan akan menimbulkan pengecualian:

Inilah cara anda dapat mencetak semua elemen:

print(numbers)

Kaedah mengakses elemen array berfungsi dengan baik, dan sangat sesuai untuk tugas yang betul. Yang tidak baik adalah mengakses keseluruhan array. Pengaturcara sememangnya malas, jadi dengan senang hati saya akan menulis lebih banyak kod yang lebih baik, jika ini bermakna saya dapat membuat penyelenggaraan lebih mudah, dan mengurangkan usaha menyalin & menampal.

Setiap bahasa pengaturcaraan akan menerapkan gelung semacam, yang sangat sesuai untuk melakukan lelaran (looping) ke atas elemen senarai. Gelung yang paling biasa adalah sementara dan untuk . Python menjadikan perkara lebih mudah dengan menyediakan a untuk di gelung:

for number in numbers:
print(number)

Perhatikan bagaimana anda tidak perlu mengakses elemen dengan kunci mereka. Ini adalah kaedah yang lebih baik untuk bekerja dengan pelbagai. Cara alternatif untuk mengulang senarai adalah dengan a untuk gelung:

for i in range(len(numbers)):
print(numbers[i])

Ini melakukan perkara yang sama seperti contoh sebelumnya, walaupun anda harus menentukan bilangan elemen dalam array ( len (kereta) ), seiring dengan berlalu i sebagai kunci kepada susunan. Ini hampir sama dengan kodnya untuk di gelung dijalankan. Dengan cara ini memberikan sedikit fleksibiliti, dan sedikit lebih cepat (walaupun untuk di gelung lebih daripada cukup pantas majoriti pada masa itu.)

Senarai

Setelah anda mengetahui bagaimana tatasusunan berfungsi, mari lihat senarai. Kadang-kadang boleh membingungkan, kerana orang menggunakan istilah yang berbeza secara bergantian, dan membuat senarai adalah tatasusunan ... jenis.

Senarai adalah jenis susunan khas. Perbezaan terbesar ialah senarai boleh mengandungi bercampur jenis (ingat, tatasusunan mesti mengandungi unsur jenis yang sama). Senarai sangat mudah di Python:

aplikasi untuk meletakkan wajah anda pada gambar
cars = ['Ford', 'Austin', 'Lancia']

Perhatikan bagaimana anda tidak perlu mengimport susunan modul?

Sintaks ini mengisytiharkan senarai yang disebut kereta. Di dalam tanda kurung persegi, setiap elemen senarai dinyatakan. Setiap elemen dipisahkan dengan koma, dan kerana setiap elemen adalah rentetan, anda menyatakannya dalam tanda petik. Python tahu ini adalah objek, jadi mencetak pernyataan akan mengeluarkan kandungan senarai:

print(cars)

Sama seperti array, anda boleh mengulang elemen senarai dengan menggunakan gelung:

for car in cars:
print(car)

Trik senarai parti sebenarnya adalah jenis campuran mereka. Teruskan dan tambahkan beberapa data tambahan:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Ini bukan masalah bagi Python - malah tidak menimbulkan pengecualian:

Sangat mudah untuk menambahkan elemen baru ke dalam senarai (sesuatu yang tidak mungkin dilakukan dengan tatasusunan):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Anda juga boleh menggabungkan dua senarai menjadi satu:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Sama mudah untuk membuang elemen menggunakan buang sintaks:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Perkara itu merangkumi asas senarai dan susunan di Python. Mengapa tidak mempertimbangkan projek pengekodan, seperti membaca dan menulis ke Helaian Google, membaca data json. Mungkin anda boleh menggunakan kemahiran baru untuk membuat sesuatu butang jalan pintas tersuai . Walaupun menjadi bahasa pengaturcaraan yang berbeza, prinsip larik ini tetap berlaku.

Berkongsi Berkongsi Tweet E-mel 5 Petua untuk Meningkatkan Mesin Linux VirtualBox Anda

Bosan dengan prestasi buruk yang ditawarkan oleh mesin maya? Inilah yang harus anda lakukan untuk meningkatkan prestasi VirtualBox anda.

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Pengaturcaraan
  • Python
Mengenai Pengarang Joe Coburn(136 Artikel Diterbitkan)

Joe adalah lulusan Sains Komputer dari University of Lincoln, UK. Dia seorang pembangun perisian profesional, dan ketika dia tidak terbang drone atau menulis muzik, dia sering didapati mengambil gambar atau menghasilkan video.

Lagi Dari Joe Coburn

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan