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, memutasikan set saat sedang di-iterasi akan menyebabkan error. Urutan
iterasi cocok dengan pesanan 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 tidak di 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
- hapus
- intersection
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- hapus
- symmetric_difference
- symmetric_difference_update
- union
- update
tambahkan
None
set.add(element)
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan ditambahkan. |
hapus
None
set.clear()
selisih
set set.difference(*others)
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)
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)
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan dihapus. |
irisan
set set.intersection(*others)
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)
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)
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)
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)
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()
hapus
None
set.remove(element)
Parameter
Parameter | Deskripsi |
---|---|
element
|
required Elemen yang akan dihapus. |
symmetric_difference
set set.symmetric_difference(other)
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)
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)
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)
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. |