Python Sets

集合(Set)

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

παραδείγματος

创建集合:

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

Εκτέλεση παραδείγματος

Σημείωση:集合是无序的,因此您无法确定项目的显示顺序。

访问项目

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

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

παραδείγματος

遍历集合,并打印值:

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

Εκτέλεση παραδείγματος

παραδείγματος

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

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

Εκτέλεση παραδείγματος

更改项目

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

添加项目

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

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

παραδείγματος

Χρήση add() 方法向 set 添加项目:

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

Εκτέλεση παραδείγματος

παραδείγματος

Χρήση update() 方法将多个项添加到集合中:

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

Εκτέλεση παραδείγματος

获取 Set 的长度

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

παραδείγματος

获取集合中的项目数:

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

Εκτέλεση παραδείγματος

删除项目

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

παραδείγματος

Χρήση remove() 方法来删除 “banana”:

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

Εκτέλεση παραδείγματος

Σημείωση:如果要删除的项目不存在,则 remove() 将引发错误。

παραδείγματος

Χρήση discard() 方法来删除 “banana”:

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

Εκτέλεση παραδείγματος

Σημείωση:如果要删除的项目不存在,则 discard() 不会引发错误。

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

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

παραδείγματος

Χρήση pop() 方法删除最后一项:

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

Εκτέλεση παραδείγματος

Σημείωση:集合是无序的,因此在使用 pop() 方法时,您不会知道删除的是哪个项目。

παραδείγματος

clear() 方法清空集合:

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

Εκτέλεση παραδείγματος

παραδείγματος

del Πλήρης διαγραφή συλλογής:

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

Εκτέλεση παραδείγματος

Σύνδεση δύο συλλογών

Στο Python, υπάρχουν διάφοροι τρόποι για να συνδέσετε δύο ή περισσότερες συλλογές.

Μπορείτε να χρησιμοποιήσετε τη μέθοδο union() για να επιστρέψετε μια νέα συλλογή που περιέχει όλα τα στοιχεία των δύο συλλογών, ή τη μέθοδο update() για να προσθέσετε όλα τα στοιχεία μιας συλλογής σε άλλη συλλογή:

παραδείγματος

Η μέθοδος union() επιστρέφει μια νέα συλλογή που περιέχει όλα τα στοιχεία των δύο συλλογών:

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

Εκτέλεση παραδείγματος

παραδείγματος

Η μέθοδος update() προσθέτει τα στοιχεία από set2 στο set1:

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

Εκτέλεση παραδείγματος

Σημείωση:union() και update() αποκλείουν οποιαδήποτε διπλότυπα στοιχεία.

Υπάρχουν επίσης άλλες μεθόδους που μπορούν να συνδέσουν δύο συλλογές και να διατηρήσουν ή όχι τα διπλότυπα στοιχεία, παρακαλώ δείτε την πλήρη λίστα μεθόδων συλλογής στο κάτω μέρος αυτής της σελίδας.

den κατασκευαστή set()

Μπορείτε επίσης να χρησιμοποιήσετε set() Δημιουργία συλλογής με τη χρήση του κατασκευαστή.

παραδείγματος

Χρήση set() Δημιουργία συλλογής με τη χρήση του κατασκευαστή:

thisset = set(("apple", "banana", "cherry")) # Παρακαλώ留意 αυτή η διπλή παρένθεση
print(thisset)

Εκτέλεση παραδείγματος

Μέθοδοι Set

Το Python έχει ένα σύνολο ενσωματωμένων μεθόδων που μπορούν να χρησιμοποιηθούν στις συλλογές (set).

Μέθοδος Περιγραφή
add() Προσθέτει στοιχεία στη συλλογή.
clear() Διαγράφει όλα τα στοιχεία της συλλογής.
copy() Επιστρέφει την αντιγραφή της συλλογής.
difference() Επιστρέφει τη συλλογή που περιέχει τις διαφορές μεταξύ δύο ή περισσότερων συλλογών.
difference_update() Διαγράφει τα στοιχεία που περιέχονται και σε άλλη καθορισμένη συλλογή.
discard() Διαγράφει το καθορισμένο στοιχείο.
intersection() Επιστρέφει τη συλλογή που είναι το κοινό των δύο άλλων συλλογών.
intersection_update() Διαγράφει τα στοιχεία που δεν υπάρχουν σε άλλες καθορισμένες συλλογές.
isdisjoint() Επιστρέφει αν οι δύο συλλογές έχουν κοινά στοιχεία.
issubset() Επιστρέφει αν μια άλλη συλλογή περιέχει τη συλλογή.
issuperset() Επιστρέφει αν η συλλογή περιέχει μια άλλη συλλογή.
pop() Διαγράφει ένα στοιχείο από τη συλλογή.
remove() Διαγράφει το καθορισμένο στοιχείο.
symmetric_difference() Επιστροφή της συλλογής που περιέχει τη συμμετρική διαφορά των δύο συλλογών.
symmetric_difference_update() Εισαγωγή της συμμετρικής διαφοράς αυτής της συλλογής και μιας άλλης συλλογής.
union() Επιστροφή της συλλογής που περιέχει τη διανύσκη της ένωσης των συλλογών.
update() Ενημέρωση της συλλογής με τη διανύσκη της ένωσης αυτής της συλλογής με άλλες συλλογές.