Beschreibung:
Eine Menge ist eine ungeordnete Folge von sich nicht wiederholenden Elementen. Sets und Listen sind sehr ähnlich
Der Unterschied zwischen Sets und Listen:
- In der Sammlung können nur unveränderliche Objekte gespeichert werden
- Die in der Sammlung gespeicherten Objekte sind ungeordnet (nicht in der Reihenfolge gespeichert, in der die Elemente eingefügt werden).
- Doppelte Elemente können und werden nicht in der Sammlung angezeigt
Erstellen Sie eine Sammlung:
Sie können Klammern {} oder set () verwenden, um eine Sammlung zu erstellen. Hinweis: Um eine leere Sammlung zu erstellen, müssen Sie set () anstelle von {} verwenden, da {} zum Erstellen eines leeren Wörterbuchs verwendet wird.
Methode 1: Verwenden Sie {}, um eine Sammlung zu erstellen
s = {
10,3,5,1,2,1,2,3,1,1,1,1}
print(s) # {1, 2, 3, 5, 10}
print(type(s)) # <class 'set'>
Wie aus dem obigen Code ersichtlich ist, sind die in der Sammlung gespeicherten Objekte ungeordnet und es gibt keine doppelten Elemente (kann für die Deduplizierung verwendet werden).
集合中只能存储不可变对象
a = {
[1,2,3],[4,6,7]}
print(a) # 报错 TypeError: unhashable type: 'list'
Methode 2: Verwenden Sie die Funktion set (), um eine Sammlung zu erstellen
创建一个空集合
s = set()
print(s) # set()
print(type(s)) # <class 'set'>
Verwenden Sie set (), um Sequenzen und Wörterbücher in Sets zu konvertieren. Wenn Sie set () verwenden, um Wörterbücher in Sets zu konvertieren, sind nur die Schlüssel im Wörterbuch enthalten
s = set([1,3,4,4,5,1,1,2,3,4,5])
print(s) # {1, 2, 3, 4, 5}
s = set('hello')
print(s) # {'h', 'o', 'l', 'e'}
s = set({
'a':1,'b':2,'c':3})
print(s) # {'a', 'c', 'b'}
Die Verwendung von Sets:
- Verwenden Sie in und nicht in , um die Elemente in der Sammlung zu überprüfen
s = {
'a','b',1,2,3,1}
print('c' in s) # False
print(1 in s) # True
print(2 not in s) # False
- Verwenden Sie len () , um die Anzahl der Elemente in der Auflistung abzurufen
s = {
'a','b',1,2,3,1}
print(s) # {1, 2, 3, 'a', 'b'}
print(len(s)) # 5
- add () fügt der Auflistung ein Element hinzu. Wenn das Element bereits vorhanden ist, wird keine Operation ausgeführt.
s = {
'a','b',1,2,3,1}
s.add(3)
s.add(10)
s.add('hello')
print(s) # {1, 2, 3, 10, 'hello', 'b', 'a'}
- update () fügt die Elemente in einer Sammlung zur aktuellen Sammlung hinzu, update () kann eine Sequenz oder ein Wörterbuch als Parameter übergeben, das Wörterbuch verwendet nur Schlüssel
s1 = {
1,2,3}
s2 = set("hello")
print(s2) # {'l', 'o', 'e', 'h'}
s1.update(s2) # 将一个集合中的元素添加到当前集合中
print(s1) # {'h', 1, 2, 3, 'e', 'o', 'l'}
s1 = {
1,2,3}
s1.update((10,20,30,40)) # 传递一个序列作为参数
print(s1) # {1, 2, 3, 40, 10, 20, 30}
s1 = {
1,2,3}
s1.update({
100:'aa',200:'bb',300:'cc',400:'dd'}) # 传递一个字典作为参数
print(s1) # {400, 1, 2, 3, 100, 200, 300}
- pop () löscht zufällig ein Element in der Menge und kehrt zurück
s = {
4, 2, 3, 100, 40, 'o', 'a', 'h',}
result = s.pop()
print(result) # 2
- remove (x) löscht das angegebene Element x in der Sammlung
s = {
4, 2, 3, 100, 40, 'o', 'a', 'h',}
s.remove(100)
print(s) # {2, 3, 4, 'h', 40, 'o', 'a'}
- clear () lösche die Sammlung
s = {
4, 2, 3, 100, 40, 'o', 'a', 'h',}
s.clear()
print(s) # set() 空集合