Set

Dalam matematik, terdapat satu set (atau teori set). Mungkin anda juga mempelajarinya dalam kursus matematik. Anda mungkin sudah biasa dengan gambar rajah Venn.
Dalam amalan, set boleh dianggap hanya sebagai set objek individu yang jelas, dipanggil elemen atau ahli.
Mengumpulkan objek ke dalam satu set boleh berguna dalam pengaturcaraan, dan Python menyediakan kami dengan jenis set terbina dalam.

Set (jenis set) berbeza daripada jenis objek lain dalam operasi unik yang boleh dilakukan padanya.

Jenis terbina dalam set dalam Python mempunyai ciri-ciri berikut:
  • elemen set tidak tertib (bermaksud dua set adalah setara jika ia mengandungi elemen sama). Elemen set tidak disimpan secara berurutan, tetapi mengikut algoritma tertentu yang membolehkan anda menentukan dengan cepat sama ada sesuatu elemen tergolong dalam set (tanpa penghitungan semua elemen);
  • elemen set adalah unik. Unsur pendua tidak dibenarkan;
  • set boleh berubah (contohnya, anda boleh menambah elemen pada set), tetapi elemen itu sendiri di dalam set mestilah tidak berubah (nombor, rentetan, tupel). Anda tidak boleh membuat senarai atau set lain sebagai elemen set;

 

Buat set
sehala

Cuma sebutkan dalam kurungan kerinting elemen dalam set.

x = {"sekolah", "guru", "kelas", pelajar}
 

2 hala 
Gunakan fungsi terbina dalam set(). x = set()    # set kosong list_name = ["Andry", "Bob", "Caroline"] y = set(nama_senarai)    # anda boleh membuat berbilang                        # daripada sebarang objek boleh lelaran z = set(["Andry", "Bob", "Caroline"])     # {'Bob', 'Caroline', 'Andry'} k = set(("Andry", "Bob", "Caroline"))     # {'Bob', 'Caroline', 'Andry'} s = "rentetan s" m = set (s)    # {'i', 't', 'g', 'r', 'n', & #39;s', ' '} -                # Beri perhatian!                # susunan unsur boleh menjadi apa-apa,               # elemen tidak berulang n = {42, 'foo', 3.14159, Tiada, (1, 2, 3)}    # elemen dalam                                                # boleh terdiri daripada pelbagai jenis  
Tetapkan output
Unsur-unsur set dipaparkan dalam susunan sewenang-wenangnya, tidak semestinya dalam susunan ia ditambah. z = set(["Andry", "Bob", "Caroline"])  cetak(z)     # {'Bob', 'Caroline', 'Andry'} cetak(*z)    # Bob Andry Caroline

Kaedah untuk bekerja dengan set


Bilangan elemen dalam set
Kaedah len() mengembalikan bilangan elemen dalam set. k = {42, 'foo', 3.14159, Tiada, (1, 2, 3)}  cetak(len(k))    #5

 

Menentukan jika elemen berada dalam set (keahlian dalam)
k = {42, 'foo', 3.14159, Tiada, (1, 2, 3)}  cetak(42 dalam k)    # Benar cetak(2 dalam k)     # Salah
Walaupun elemen yang terkandung dalam set mestilah daripada jenis yang tidak boleh diubah, set itu sendiri boleh ditukar. 

 

Menambah elemen ke set
x.add(<elem>)
pada set  x menambah <elem> yang mesti menjadi satu-satunya objek yang tidak boleh diubah.

 

Mengalih keluar elemen daripada set
1) x.remove(<elem>)
<elem>  dialih keluar daripada set x. Python membuang pengecualian (ralat) jika <elem> tiada dalam x.

2) x.discard(<elem>)
pemadaman yang sama, tetapi sekiranya tiada unsur dalam set, ia tidak menimbulkan pengecualian.

3) x.pop()
mengeluarkan dan mengembalikan unsur rawak daripada set. Jika set pada mulanya kosong, maka pengecualian (ralat) berlaku.

4) x.clear()
mengalih keluar semua elemen daripada set (mengosongkan set).

Error

Tetapkan pengisihan?

Seperti yang kita tahu, susunan elemen dalam set tidak diambil kira. Jadi adakah masuk akal untuk bercakap tentang menyusun set dalam Python 3?! (Sebab tu ada tanda soal dalam tajuk)

Untuk mencari elemen dalam set dengan cepat, adalah wajar untuk menyimpannya dalam ingatan dalam bentuk tersusun.

Mari kita lihat beberapa contoh. Apakah yang berlaku kepada unsur jenis data yang berbeza dalam set yang sama? Unsur sedemikian tidak boleh diisih. Jika kita mencetak elemen menggunakan perintah print(), ia akan dikeluarkan seperti ini:

a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'} cetak(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'} Dalam kes ini, nilai yang tidak diisih dipaparkan. Jika anda mengulangi pelancaran, maka susunan output mungkin berbeza. Tetapi ini hanya jika unsur-unsur pelbagai jenis dicampur.

Mari cuba memaparkan data satu jenis (contohnya, nombor sahaja): a = {0, 1, 12, 3, 2} print(a) # {0, 1, 2, 3, 12} Semua elemen dipaparkan mengikut urutan. Mari cuba tukarkannya kepada senarai: a = {0, 1, 12, 3, 2} b = senarai(a) cetak(b) # [0, 1, 2, 3, 12] Begitu juga, unsur-unsur yang disusun dalam tertib menaik telah ditulis pada senarai.

Ternyata unsur disimpan dalam ingatan dalam bentuk tersusun jika ia daripada jenis yang sama. Tetapi adalah lebih baik untuk tidak mengharapkannya, algoritma Python boleh berubah.

Jika anda perlu mendapatkan senarai diisih daripada set, lebih baik menggunakan isih (< code>sorted) fungsi untuk memastikan ). Unsur-unsur akan disusun dengan tepat. Kod anda akan dapat difahami oleh orang lain.