Python uppsättningar

Samling (Set)

Samlingen är en oordnad och oindexerad samling. I Python skrivs en samling med klamrar.

Ett exempel

skapa samling:

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

Kör en exempel

Kommentar:Samlingen är oordnad, så du kan inte fastställa ordningen på elementen.

komma åt element

Du kan inte komma åt element i set via referensindex eftersom set är oordnat, elementen har ingen index.

men du kan använda for gå igenom set-element med en for-loop, eller använd i nyckelord för att söka efter om det finns ett specifikt värde i samlingen.

Ett exempel

gå igenom samlingen och skriv ut värdena:

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

Kör en exempel

Ett exempel

kontrollera om "banana" finns i set:

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

Kör en exempel

ändra element

När en samling har skapats, kan du inte ändra element, men du kan lägga till nya element.

lägg till element

För att lägga till ett element till en samling, använd add() metoden.

För att lägga till flera element till samlingen, använd update() metoden.

Ett exempel

Använd add() metoden för att lägga till ett element till set:

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

Kör en exempel

Ett exempel

Använd update() metoden för att lägga till flera element till samlingen:

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

Kör en exempel

få Set-längd

För att bestämma hur många element som finns i samlingen, använd len() metoden.

Ett exempel

få antalet element i samlingen:

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

Kör en exempel

ta bort element

För att ta bort ett element från samlingen, använd remove() eller discard() metoden.

Ett exempel

Använd remove() metoden för att ta bort "banana":

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

Kör en exempel

Kommentar:Om det element du vill ta bort inte finns i remove() kommer att orsaka ett fel.

Ett exempel

Använd discard() metoden för att ta bort "banana":

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

Kör en exempel

Kommentar:Om det element du vill ta bort inte finns i discard() det kommer inte att orsaka något fel.

Du kan också använda pop() metoden tar bort ett element, men denna metod tar bort sista elementet. Kom ihåg att set är oordnat, så du kommer inte att veta vilket element som tas bort.

pop() metodens returvärde är det borttagna elementet.

Ett exempel

Använd pop() metoden tar bort sista elementet:

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

Kör en exempel

Kommentar:Samlingen är oordnad, så när du använder pop() metoden, kommer du inte att veta vilket projekt som tas bort.

Ett exempel

clear() metoden tömmer samlingen:

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

Kör en exempel

Ett exempel

del Radera samlingsen helt:

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

Kör en exempel

Sammanslå två samlingar

I Python finns det flera sätt att sammanfoga två eller flera samlingar.

Du kan använda union() metoden för att returnera en ny samling som innehåller alla objekt från båda samlingarna, eller använda update() metoden för att lägga till alla objekt från en samling till en annan:

Ett exempel

union() metoden returnerar en ny samling som innehåller alla objekt från båda samlingarna:

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

Kör en exempel

Ett exempel

update() metoden lägger till objekt från set2 till set1:

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

Kör en exempel

Kommentar:union() och update() exkluderar alla dubbelkopior.

Det finns också andra metoder att sammanfoga två samlingar och endast behålla dubbelkopior, eller aldrig behålla dubbelkopior, se den fullständiga listan över samlingsmetoder längst ner på denna sida.

set() konstruktorn

Man kan också använda set() Konstruktorn för att skapa en samling.

Ett exempel

Använd set() Konstruktorn för att skapa en samling:

thisset = set(("apple", "banana", "cherry")) # Observera dessa dubbla parenteser
print(thisset)

Kör en exempel

Set-metoder

Python har ett sett med inbyggda metoder som kan användas på samlingar (set).

Metod Beskrivning
add() Lägg till element till samlingen.
clear() Ta bort alla element från samlingen.
copy() Returnera en kopia av samlingen.
difference() Returnera en samling som innehåller skillnaden mellan två eller flera samlingar.
difference_update() Ta bort objekt som också finns i en annan specifik samling.
discard() Ta bort specifika objekt.
intersection() Returnera en samling som är intersectionen av två andra samlingar.
intersection_update() Ta bort objekt som inte finns i andra specifika samlingar.
isdisjoint() Returnera om två samlingar har en gemensam del.
issubset() Returnera om en annan samling innehåller denna samling.
issuperset() Returnera om denna samling innehåller en annan samling.
pop() Ta bort ett element från samlingen.
remove() Radera specifikt element.
symmetric_difference() Returnera en samling som innehåller den symmetriska skillnaden mellan de två samlingarna.
symmetric_difference_update() Infoga den symmetriska skillnaden mellan denna samling och en annan samling.
union() Returnera en samling som innehåller unionen av de två samlingarna.
update() Uppdatera samlingen med unionen av denna samling och andra samlingar.