Cara menggunakan SET.INTERSECTION pada Python

Question

Saya melakukan beberapa operasi set di Python, dan saya melihat sesuatu yang aneh ...

Itu bagus, perilaku yang diharapkan - tetapi dengan persimpangan:

Apakah saya kehilangan akal sehat saya di sini? Mengapa set.intersection[] tidak beroperasi seperti yang saya harapkan?

Bagaimana saya bisa melakukan perpotongan banyak set seperti yang saya lakukan dengan union [dengan asumsi [[1,2,3], [2,3,4]] memiliki lebih banyak daftar]? Apa yang akan menjadi "pythonic &" cara?

47 2013-10-25T04:09:08+00:00 3

Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.

Solution / Answer

25 Oktober 2013 в 4:12

2013-10-25T04:12:15+00:00

#22615129

Ketika Anda melakukan set[] Anda membuat himpunan kosong. Ketika Anda melakukan set[].intersection[...], Anda memotong himpunan kosong ini dengan himpunan lain. Perpotongan himpunan kosong dengan kumpulan himpunan lainnya adalah kosong.

Jika Anda benar-benar memiliki daftar himpunan, Anda bisa mendapatkan perpotongannya seperti yang Anda lakukan.

Anda tidak dapat melakukan ini secara langsung dengan cara yang Anda lakukan, karena Anda sebenarnya tidak memiliki himpunan sama sekali dalam contoh Anda dengan intersection[*...]. Anda hanya memiliki daftar lists. Anda harus terlebih dahulu mengubah elemen-elemen dalam daftar Anda menjadi himpunan. Jadi, jika Anda memiliki

Anda harus melakukan

Jawab pertanyaan

25 Oktober 2013 в 4:16

2013-10-25T04:16:19+00:00

#22615131

ubah daftar untuk mengatur terlebih dahulu

Untuk beberapa daftar, Anda bisa menggunakan,

Jawab pertanyaan

25 Oktober 2013 в 4:12

2013-10-25T04:12:53+00:00

#22615130

[hapus jawaban yang salah]

Seperti yang @Anto Vinish sarankan, Anda harus terlebih dahulu mengonversi daftar ke set dan kemudian menggunakan set.intersection

Sebagai contoh:

Pertanyaan-pertanyaan Terkait

Teman-teman semua, semoga masih semangat untuk melanjutkan belajar python. Sebelumnya kita sudah belajar tentang Enum dan beberapa contoh penggunaannya, sekarang kita akan belajar type data set.

Table of Contents

  • Membuat Tipe Data SET
  • Mengakses Nilai Pada Set
  • Fungsi Union
  • Fungsi Intersection
  • Fungsi Difference
  • Fungsi Symmetric Difference
  • Dengan Perulangan FOR
  • Menambah dan Menghapus Anggota Tipe Data Set
  • Selanjutnya
  • Bagaimana cara membuat set kosong python?
  • Apa itu sets pada python?
  • Apa itu append pada python?
  • Bagaimana cara menuliskan Hello World dalam python?

Daftar Isi

Tipe data set adalah tipe data yang di dalamnya berisi banyak nilai dalam satu variabel, ini juga merupakan salah satu tipe data kolektif. Untuk membuat tipe data set, ada ketentuan yang harus dipenuhi yaitu:

  • Nilai yang disimpan tidak boleh ada yang sama
  • Nilai yang disimpan tidak bisa diubah lagi
  • Set tidak bisa diakses dengan index, yaitu set bersifat unordered

Membuat Tipe Data SET

Ada dua metode membuat set, yaitu menggunakan {} kurung kurawal atau menggunakan sebuah list yang dipassing dengan set[]. Mari kita lihat bagaimana cara menggunakan kedua metode tersebut.

# menggunakan kurung kurawal
nama_buah = {'nangka', 'guava', 'durian', 'manggis', 'pisang'}
print[nama_buah] # print

# output
{'pisang', 'manggis', 'durian', 'nangka', 'guava'}
# membuat list
warna = ['kuning', 'biru', 'ungu', 'coklat', 'putih']

# konversi list ke dalam set
nama_warna = set[warna]

print[nama_warna] # output
{'biru', 'ungu', 'coklat', 'kuning', 'putih'}

Kita juga bisa membuat set menyimpan tipe data berbeda seperti berikut ini

campur = {'mobil', 5, True, ['CBV', 'FBV'], 'hijau'}
print[campur]
{'mobil', True, 'hijau', 5, ['CBV', 'FBV']}

Mengakses Nilai Pada Set

Karena tipe data set bersifat unordered [tidak berurutan], maka kita tidak bisa mengakses nilainya menggunakan index. Dan itu juga sebabnya, dari ketiga contoh di atas, kalau diperhatikan output print menampilkan urutan data yang berbeda.

Pesan error saat mengakses nilai set menggunakan index

print[nama_buah[2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: 'set' object is not subscriptable

Pada set, kita bisa mencari anggota set ada atau tidak dengan menggunakan

# 'pisang' adalah anggota set
# output True
'pisang' in nama_buah
True

# 'rambutan' bukan anggota set
# output False
'rambutan' in nama_buah
False

Set juga memiliki sifat unchangeable, maksudnya adalah nilai yang sudah disimpan tidak bisa diubah lagi. Meski nilai yang sudah disimpan tidak bisa diubah lagi, tipe data set tetap dapat menerima anggota baru atau menghapus anggota yang sudah ada. Namun karena sifatnya yang unchangeable, set hanya bisa menerima anggota yang bersifat immutable.

Pada contoh ketiga, campur = {'mobil', 5, True, ['CBV', 'FBV'], 'hijau'}, kita menggunakan tipe string, integer, boolean, dan tuple. Namun ketika, kita menambahkan tipe data lain seperti list, maka muncuk pesan error seperti ini

campur = {'mobil', 5, True, ['CBV', 'FBV'], 'hijau'}
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'

Set juga tidak menyimpan data duplikat, jadi berapapun data yang dimasukkan ke dalam set jika nilainya sama maka hanya satu saja yang akan disimpan. Seperti berikut ini

coba = {'set','tidak','terima','duplikat','anggota','pada','set'}

print[coba]
{'set', 'anggota', 'pada', 'terima', 'tidak', 'duplikat'}

Perhatikan contoh di atas, ada dua string 'set' pada variabel coba. Namun setelah diprint hanya satu yang keluar.

Untuk mengakses dan mengolah data set, python telah menyediakan berbagai macam fungsi yang akan kita sama-sama lihat contohnya seperti berikut ini, diantaranya adalah:

Sebelum masuk ke contoh, kita akan mendefinisikan dua buah set seperti berikut ini:

a = {1, 2, 2, 3, 4, 4, 5, 6}
b = {2, 3, 3, 6, 7, 8, 8, 9}

Fungsi Union

Kita punya dua buah tipe data set a dan b, yang memiliki anggota hampir mirip. Fungsi union adalah untuk menggabungkan kedua set tersebut. Ada dua cara menggunakan union

# Menggunakan simbol pipe |
print[a | b]
{1, 2, 3, 4, 5, 6, 7, 8, 9}

# Dengan set.union[]
print[a.union[b]]
{1, 2, 3, 4, 5, 6, 7, 8, 9}

Fungsi Intersection

Fungsi Intersection atau irisan, yaitu mencari anggota diantara tipe data set. Untuk mencari tau, anggota mana saja yang ada pada kedua variabel tersebut, kita menggunakan intersection. Interscetion juga dapat dijalankan dengan dua cara.

# Menggunakan simbol &
print[a & b]
{2, 3, 6}

# menggunakan set.intersection[]
print[a.intersection[b]]
{2, 3, 6}

Fungsi Difference

Fungsi difference untuk mencari anggota set pertama yang bukan anggota set kedua.

Sekarang mari kita cari mana dari anggota "a" yang tidak masuk ke anggota "b".

# menggunakan simbol -
print[a - b]
{1, 4, 5}

# menggunakan set.defference[]
print[a.difference[b]]
{1, 4, 5}

Jika posisi variabel dibalik menjadi b dan a, maka akan menampilkan anggota b yang bukan anggota a.

print[b - a]
{8, 9, 7}

print[b.difference[a]]
{8, 9, 7}

Fungsi Symmetric Difference

Fungsi symmetric difference akan menghasilkan output dari dua set yang hanya berada pada satu set saja. Dari variabel a dan b, ketika kita jalankan set.symmetric_difference maka akan seperti berikut ini

print[a.symmetric_difference[b]]
{1, 4, 5, 7, 8, 9}

# jika posisi dibalik, hasilnya tetap sama
print[b.symmetric_difference[a]]
{1, 4, 5, 7, 8, 9}

Dengan Perulangan FOR

Menampilkan tipe data set juga bisa dilakukan dengan menggunakan for

for x in a:
     print[x]

# output 
1
2
3
4
5
6

Menambah dan Menghapus Anggota Tipe Data Set

Menambah anggota set dapat menggunakan fungsi add[] atau juga update[]. Dan mari kita perlihatkan contoh penggunaannya.

Menambahkan anggota set

# menggunakan add[]
a.add['x']
a.add['y']

print[a]
{1, 2, 3, 4, 5, 6, 'y', 'x'}

# menggunakan update[] cara 1
a.update[{'20', 21}]
print[a]
{1, 2, 3, 4, 5, 6, 'y', '20', 21, 'x'}

# menggunakan update[] cara 2
a.update[['20', 30, 40]]
print[a]
{1, 2, 3, 4, 5, 6, 'y', '20', 40, 20, 21, 'x', 30}

Perbedaan antara add[] dengan update[] adalah jumlah data yang dimasukkan. Pada add[] hanya bisa menambahkan satu data saja [satu persatu] dan update[] dapat menambahkan data set sekaligus banyak.

Menghapus data pada set, ada 4 fungsi yang bisa digunakan remove[value], discard[value], pop[], dan clear[]. Dari keempat fungsi ini, mari kita coba satu persatu.

Fungsi remove[value]

remove[] mencari dan menghapus nilai dari set, namun apabila nilai yang dicari tersebut tidak ada, maka akan menampilkan pesan error.

a.remove[50]
Traceback [most recent call last]:
  File "", line 1, in 
KeyError: 50

Fungsi remove[] menampilkan KeyError: 50, karena angka 50 tidak ada dalam variabel "a".

a.remove[20]
print[a]
{1, 2, 3, 4, 5, 6, 'y', '20', 40, 21, 'x', 30}

Angka 20 pada variabel "a" sudah dihapus menggunakan fungsi remove[].

Fungsi discard[value] Mencari dan menghapus nilai dari set, dengan tidak menampilkan error jika data yang dicari tidak ditemukan.

# menghapus angka 100
# tidak menampilkan error
# meski angka 100 tidak ditemukan
a.discard[100]

# menghapus string '20'
a.discard['20']
print[a]
{1, 2, 3, 4, 5, 6, 'y', 40, 21, 'x', 30}

Fungsi pop[] fungsi ini akan menghapus data yang ada disebelah kiri. Contoh:

a.pop[]
1

print[a]
{2, 3, 4, 5, 6, 'y', 40, 21, 'x', 30}

Perintah di atas, menghapus angka 1, karena angka satu berada di sebelah kiri

Fungsi clear[] untuk menghapus seluruh anggota set

a.clear[]
print[a]
set[]

Selanjutnya

Baik teman-teman semua, kita sudah mengenal lebih jauh tentang tipe data set. Mulai dari membuat, mengolah data, menambah, dan menghapus data set. Tulisan belajar python selanjutnya membahas tentang simple mathematical operators.

Bagaimana cara membuat set kosong python?

Untuk membuat set kosong, kita tidak bisa menggunakan { }, karena itu akan dianggap sebagai dictionary. Kita harus menggunakan fungsi set[] tanpa argumen untuk membuat set kosong. Set bersifat mutable. Tapi, karena set adalah tipe data tidak berurut [unordered], maka kita tidak bisa menggunakan indeks.

Apa itu sets pada python?

Set dalam bahasa pemrograman python adalah tipe data kolektif yang digunakan untuk menyimpan banyak nilai dalam satu variabel dengan ketentuan: nilai anggota yang disimpan harus unik [tidak duplikat] nilai anggota yang sudah dimasukkan tidak bisa diubah lagi.

Apa itu append pada python?

Fungsi append menambahkan nilai array pada urutan akhir. Sedangkan dengan fungsi insert kita bisa menambahkan nilai array pada posisi tertentu.

Bagaimana cara menuliskan Hello World dalam python?

Langkah-langkahnya:.

Buka terminal kita atau CMD. Di sini saya menggunakan terminal bawaan Visual Studio Code dengan menekan tombol CTRL+j ..

Setelah terminal terbuka, ketik perintah python atau python3 . Berikut ini tampilan terminal interaktif saya..

Kemudian ketikkan perintah: print['Hello world!.

Bagaimana cara membuat set kosong python?

Untuk membuat set kosong, kita tidak bisa menggunakan { }, karena itu akan dianggap sebagai dictionary. Kita harus menggunakan fungsi set[] tanpa argumen untuk membuat set kosong. Set bersifat mutable. Tapi, karena set adalah tipe data tidak berurut [unordered], maka kita tidak bisa menggunakan indeks.

Apa itu set pada python?

Set dalam bahasa pemrograman python adalah tipe data kolektif yang digunakan untuk menyimpan banyak nilai dalam satu variabel dengan ketentuan: nilai anggota yang disimpan harus unik [tidak duplikat] nilai anggota yang sudah dimasukkan tidak bisa diubah lagi.

Apa fungsi dari set?

Fungsi set[] menerima satu buah parameter, yaitu: iterable – sequence [string, tuple, list], maupun collection[set, dictionary, dan sebagainya] atau juga iterator yang akan diubah menjadi set.

Apa itu append pada python?

Append dan insert pada dasarnya memiliki fungsi yang sama yaitu untuk menambahkan nilai pada array, perbedaannya hanya pada kondisi penggunaannya. Fungsi append menambahkan nilai array pada urutan akhir. Sedangkan dengan fungsi insert kita bisa menambahkan nilai array pada posisi tertentu.

Bài mới nhất

Chủ Đề