Kumpulan Python

集合(Set)

集合是无序和无索引的集合。在 Python 中,集合用花括号编写。

Contoh

创建集合:

thisset = {"apple", "banana", "cherry"}
print(thisset)

Contoh penggunaan

Komen:集合是无序的,因此您无法确定项目的显示顺序。

访问项目

您无法通过引用索引来访问 set 中的项目,因为 set 是无序的,项目没有索引。

但是您可以使用 for 循环遍历 set 项目,或者使用 in 关键字查询集合中是否存在指定值。

Contoh

遍历集合,并打印值:

thisset = {"apple", "banana", "cherry"}
for x in thisset:
  print(x)

Contoh penggunaan

Contoh

检查 set 中是否存在 “banana”:

thisset = {"apple", "banana", "cherry"}
print("banana" in thisset)

Contoh penggunaan

更改项目

集合一旦创建,您就无法更改项目,但是您可以添加新项目。

添加项目

要将一个项添加到集合,请使用 add() 方法。

要向集合中添加多个项目,请使用 update() 方法。

Contoh

Gunakan add() 方法向 set 添加项目:

thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
print(thisset)

Contoh penggunaan

Contoh

Gunakan update() 方法将多个项添加到集合中:

thisset = {"apple", "banana", "cherry"}
thisset.update(["orange", "mango", "grapes"])
print(thisset)

Contoh penggunaan

获取 Set 的长度

要确定集合中有多少项,请使用 len() 方法。

Contoh

获取集合中的项目数:

thisset = {"apple", "banana", "cherry"}
print(len(thisset))

Contoh penggunaan

删除项目

要删除集合中的项目,请使用 remove()discard() 方法。

Contoh

Gunakan remove() 方法来删除 “banana”:

thisset = {"apple", "banana", "cherry"}
thisset.remove("banana")
print(thisset)

Contoh penggunaan

Komen:如果要删除的项目不存在,则 remove() 将引发错误。

Contoh

Gunakan discard() 方法来删除 “banana”:

thisset = {"apple", "banana", "cherry"}
thisset.discard("banana")
print(thisset)

Contoh penggunaan

Komen:如果要删除的项目不存在,则 discard() 不会引发错误。

您还可以使用 pop() 方法删除项目,但此方法将删除最后一项。请记住,set 是无序的,因此您不会知道被删除的是什么项目。

pop() 方法的返回值是被删除的项目。

Contoh

Gunakan pop() 方法删除最后一项:

thisset = {"apple", "banana", "cherry"}
x = thisset.pop()
print(x)
print(thisset)

Contoh penggunaan

Komen:集合是无序的,因此在使用 pop() 方法时,您不会知道删除的是哪个项目。

Contoh

clear() 方法清空集合:

thisset = {"apple", "banana", "cherry"}
thisset.clear()
print(thisset)

Contoh penggunaan

Contoh

del Padamkan set sepenuhnya:

thisset = {"apple", "banana", "cherry"}
del thisset
print(thisset)

Contoh penggunaan

Gabungkan dua set

Di Python, ada beberapa kaedah untuk menyambung dua atau lebih set.

Anda boleh menggunakan kaedah union() untuk kembalikan set baru yang mengandungi semua item daripada kedua set, atau menggunakan kaedah update() untuk memasukkan semua item daripada satu set ke dalam set lain:

Contoh

Kaedah union() akan kembalikan set baru yang mengandungi semua item daripada kedua set:

set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)

Contoh penggunaan

Contoh

Kaedah update() akan memasukkan item daripada set2 ke dalam set1:

set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)

Contoh penggunaan

Komen:union() dan update() akan mengelakkan setiap item berulang.

Ada kaedah lain untuk menyambung dua set, dan hanya mempertahankan item berulang, atau tidak mempertahankan item berulang, lihat senarai penuh kaedah set di bawah halaman ini.

Konstruktor set()

Juga boleh digunakan set() Konstruktor untuk membuat set.

Contoh

Gunakan set() Konstruktor untuk membuat set:

thisset = set(("apple", "banana", "cherry")) # Sila perhatikan double parenthesis ini
print(thisset)

Contoh penggunaan

Kaedah Set

Python mempunyai sekumpulan kaedah binaan yang boleh digunakan atas kumpulan (set).

Kaedah Penerangan
add() Tambahkan elemen ke set.
clear() Padamkan semua elemen dalam set.
copy() Kembalikan salinan set ini.
difference() Kembalikan set yang mengandungi perbezaan antara dua atau lebih set.
difference_update() Padamkan item yang wujud di dalam set ini tetapi juga wujud di dalam set lain yang ditentukan.
discard() Padamkan item yang ditentukan.
intersection() Kembalikan set yang merupakan persimpangan antara dua set lain.
intersection_update() Padamkan item yang tidak wujud di dalam set lain yang ditentukan.
isdisjoint() Kembalikan set ini jika ada kesesakan dengan set lain.
issubset() Kembalikan set lain jika mengandungi set ini.
issuperset() Kembalikan set ini jika mengandungi set lain.
pop() Padamkan satu elemen daripada kumpulan.
remove() Padamkan elemen yang ditentukan.
symmetric_difference() Kembalikan set yang memiliki kesalahan simetri antara dua set.
symmetric_difference_update() Sisipkan kesalahan simetri antara set ini dan set lain.
union() Kembalikan set yang mengandung gabungan set.
update() Diperbarui set dengan gabungan set ini dan set lain.