Eksperimental. API ini bersifat eksperimental dan dapat berubah sewaktu-waktu. Jangan bergantung pada
hal ini. Fitur ini dapat diaktifkan secara eksperimental dengan menetapkan
--experimental_enable_starlark_set
.
Jenis set yang dapat diubah bawaan. Contoh ekspresi set:
x = set() # x is an empty set y = set([1, 2, 3]) # y is a set with 3 elements 3 in y # True 0 in y # False len(x) # 0 len(y) # 3
Set yang digunakan dalam konteks Boolean bernilai benar jika dan hanya jika tidak kosong.
s = set() "non-empty" if s else "empty" # "empty" t = set(["x", "y"]) "non-empty" if t else "empty" # "non-empty"
Elemen set harus dapat di-hash; x
dapat berupa elemen set jika dan hanya jika
x
dapat digunakan sebagai kunci dict.
Set itu sendiri tidak dapat di-hash; oleh karena itu, Anda tidak dapat memiliki set dengan set lain sebagai elemen.
Anda tidak dapat mengakses elemen set menurut indeks, tetapi Anda dapat melakukan iterasi pada elemen tersebut, dan Anda dapat
mendapatkan daftar elemen set dalam urutan iterasi menggunakan fungsi bawaan
list()
. Sama seperti daftar, memutasi set saat sedang di-iterasi akan menyebabkan error. Urutan
iterasi cocok dengan urutan pemasangan iklan:
s = set([3, 1, 3]) s.add(2) # prints 3, 1, 2 for item in s: print(item) list(s) # [3, 1, 2]
Set s
sama dengan t
jika dan hanya jika t
adalah set yang berisi elemen yang sama, mungkin dengan urutan iterasi yang berbeda. Secara khusus, set adalah
not
yang sama dengan daftar elemennya.
Set tidak diurutkan; operasi <
, <=
, >
, dan
>=
tidak ditentukan untuk set, dan daftar set tidak dapat diurutkan - tidak seperti
di Python.
Operasi |
pada dua set menampilkan gabungan dari dua set: set yang berisi elemen yang ditemukan di salah satu atau kedua set asli. Operasi |
memiliki
versi penetapan yang ditambahkan; s |= t
menambahkan semua elemen
t
ke s
.
set([1, 2]) | set([3, 2]) # set([1, 2, 3]) s = set([1, 2]) s |= set([2, 3, 4]) # s now equals set([1, 2, 3, 4])
Operasi &
pada dua set menampilkan persimpangan dua set: set
yang hanya berisi elemen yang ditemukan di kedua set asli. Operasi &
memiliki versi penetapan yang ditambahkan; s &= t
menghapus dari s
semua
elemen yang tidak ditemukan di t
.
set([1, 2]) & set([2, 3]) # set([2]) set([1, 2]) & set([3, 4]) # set() s = set([1, 2]) s &= set([0, 1]) # s now equals set([1])
Operasi -
pada dua set menampilkan perbedaan dari dua set: set yang berisi elemen yang ditemukan di set sisi kiri, tetapi bukan set sisi kanan. Operasi -
memiliki versi penetapan yang ditambahkan; s -= t
menghapus dari s
semua
elemen yang ditemukan di t
.
set([1, 2]) - set([2, 3]) # set([1]) set([1, 2]) - set([3, 4]) # set([1, 2]) s = set([1, 2]) s -= set([0, 1]) # s now equals set([2])
Operasi ^
pada dua set menampilkan perbedaan simetris dari dua set: set
yang berisi elemen yang ditemukan di salah satu dari dua set asli, tetapi tidak di keduanya. Operasi
^
memiliki versi penetapan yang ditambahkan; s ^= t
menghapus dari
s
elemen t
apa pun yang ditemukan di s
dan menambahkan ke s
elemen
t
apa pun yang tidak ditemukan di s
.
set([1, 2]) ^ set([2, 3]) # set([1, 3]) set([1, 2]) ^ set([3, 4]) # set([1, 2, 3, 4]) s = set([1, 2]) s ^= set([0, 1]) # s now equals set([2, 0])
Anggota
- tambahkan
- clear
- difference
- difference_update
- buang
- intersection
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- hapus
- symmetric_difference
- symmetric_difference_update
- union
- update
tambahkan
None
set.add(element)
Menambahkan elemen ke set.
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan ditambahkan. |
hapus
None
set.clear()
Menghapus semua elemen set.
perbedaan
set set.difference(*others)Menampilkan set baru yang dapat diubah yang berisi perbedaan set ini dengan set lainnya.
Misalnya,
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |
difference_update
None
set.difference_update(*others)
Menghapus elemen apa pun yang ditemukan di set lain dari set ini.
Misalnya,
x = set([1, 2, 3, 4]) x.difference_update([2, 3], [3, 4]) # x is now set([1])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |
hapus
None
set.discard(element)
Menghapus elemen dari set jika ada.
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan dihapus. |
irisan
set set.intersection(*others)Menampilkan set baru yang dapat diubah yang berisi persimpangan set ini dengan set lainnya.
Misalnya,
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |
intersection_update
None
set.intersection_update(*others)
Menghapus elemen yang tidak ditemukan di semua elemen lain dari set ini.
Misalnya,
x = set([1, 2, 3, 4]) x.intersection_update([2, 3], [3, 4]) # x is now set([3])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |
isdisjoint
bool set.isdisjoint(other)Menampilkan true jika set ini tidak memiliki elemen yang sama dengan set lainnya.
Misalnya,
set([1, 2]).isdisjoint([3, 4]) == True set().isdisjoint(set()) == True set([1, 2]).isdisjoint([2, 3]) == False
Parameter
Parameter | Deskripsi |
---|---|
other
|
required Kumpulan, urutan, atau dict. |
issubset
bool set.issubset(other)Menampilkan true jika kumpulan ini adalah subset dari kumpulan lain.
Misalnya,
set([1, 2]).issubset([1, 2, 3]) == True set([1, 2]).issubset([1, 2]) == True set([1, 2]).issubset([2, 3]) == False
Parameter
Parameter | Deskripsi |
---|---|
other
|
required Kumpulan, urutan, atau dict. |
issuperset
bool set.issuperset(other)Menampilkan true jika set ini adalah superset dari set lain.
Misalnya,
set([1, 2, 3]).issuperset([1, 2]) == True set([1, 2, 3]).issuperset([1, 2, 3]) == True set([1, 2, 3]).issuperset([2, 3, 4]) == False
Parameter
Parameter | Deskripsi |
---|---|
other
|
required Kumpulan, urutan, atau dict. |
pop
unknown set.pop()Menghapus dan menampilkan elemen pertama dari set. Gagal jika set kosong.
hapus
None
set.remove(element)
Menghapus elemen, yang harus ada dalam set, dari set. Gagal jika elemen tidak
ada dalam set.
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan dihapus. |
symmetric_difference
set set.symmetric_difference(other)Menampilkan set baru yang dapat diubah yang berisi perbedaan simetris dari set ini dengan set, urutan, atau kamus lain.
Misalnya,
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Parameter
Parameter | Deskripsi |
---|---|
other
|
required Kumpulan, urutan, atau dict. |
symmetric_difference_update
None
set.symmetric_difference_update(other)
Menampilkan set baru yang dapat diubah yang berisi perbedaan simetris dari set ini dengan set,
urutan, atau kamus lain.
Misalnya,
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Parameter
Parameter | Deskripsi |
---|---|
other
|
required Kumpulan, urutan, atau dict. |
Union
set set.union(*others)Menampilkan set baru yang dapat diubah yang berisi gabungan set ini dengan set lainnya.
Misalnya,
set([1, 2]).union([2, 3, 4], [4, 5]) == set([1, 2, 3, 4, 5])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |
update
None
set.update(*others)
Menambahkan elemen yang ditemukan di set lain ke set ini.
Misalnya,
x = set([1, 2]) x.update([2, 3], [3, 4]) # x is now set([1, 2, 3, 4])
Parameter
Parameter | Deskripsi |
---|---|
others
|
required Set, urutan, atau dict. |