logo

Python-uppsättningar

Python Set är en oordnad samling av datatyper som är itererbar, föränderlig och har inga dubbletter av element. Ordningen av element i en uppsättning är odefinierad även om den kan bestå av olika element. Den stora fördelen med att använda en uppsättning, i motsats till en lista, är att den har en mycket optimerad metod för att kontrollera om ett specifikt element finns i uppsättningen. Här kommer vi att se vad som är ett set i Python och även se olika exempel på set Python.

Skapa en uppsättning i Python

Python-uppsättningar kan skapas genom att använda den inbyggda uppsättning() fungera med ett itererbart objekt eller en sekvens genom att placera sekvensen inom hängslen, åtskilda av ett 'komma'.



Notera: En Python-uppsättning kan inte ha föränderliga element som en lista eller ordbok, eftersom den är oföränderlig.

Python3
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))>

Produktion

intellij idé vs eclipse
Initial blank Set:  set()  Set with the use of String:  {'e', 'G', 's', 'F', 'o', 'r', 'k'}  Set with the use of an Object:  {'e', 'G', 's', 'F', 'o', 'r', 'k'}  Set with the use of List:  {'For', 'Geeks'}  Set with the use of Tuple:  {'for', 'Geeks'}  Set with the use of Dictionary:  {'for', 'Geeks'}>

Tidskomplexitet: O(n), där n är längden på inmatningssträngen, listan, tupeln eller ordboken.
Extra utrymme: O(n), där n är längden på inmatningssträngen, listan, tupeln eller ordboken.



En Python-uppsättning innehåller bara unika element, men vid tidpunkten för uppsättningen kan flera dubbletter av värden också skickas. Ordningen av element i en Python-uppsättning är odefinierad och kan inte ändras. Typen av element i en uppsättning behöver inte vara densamma, olika blandade datatypvärden kan också skickas till uppsättningen.

vad betyder detta xd
Python3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set with the use of Numbers: ') print(set1) # Creating a Set with a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print('
Set with the use of Mixed Values') print(set1)>

Produktion
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}>

Skapa en Python-uppsättning med en annan metod

I det här exemplet skapas en uppsättning genom att använda klammerparenteser {} notation, som innehåller siffrorna 1,2 och 3. Uppsättningsdatastruktur i Python eller oordnad uppsättning i Python är oordnade samlingar av unika element, vilket gör dem lämpliga för uppgifter som kräver unikhet och ställ in operationer i Python.

Python3
# Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>

Produktion
{1, 2, 3}>

Lägga till element till en uppsättning i Python

Nedan är några av tillvägagångssätten med vilka vi kan lägga till element till en uppsättning i Python:



  • Använder metoden add()
  • Använder metoden update().

Använder metoden add()

Element kan läggas tillUtspelar sig i Pythongenom att använda den inbyggda Lägg till() fungera. Endast ett element åt gången kan läggas till i uppsättningen med hjälp av add()-metoden, loopar används för att lägga till flera element åt gången med hjälp av add()-metoden.

Notera: Listor kan inte läggas till en uppsättning som element eftersom listor inte är hashbara medan Tuples kan läggas till eftersom tupler är oföränderliga och därmed hashbara.

Python3
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)>

Produktion
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}>

Använder metoden update().

För tillägg av två eller flera element används metoden Update(). Metoden update() accepterar listor, strängar, tupler samt andra Python-hash-uppsättningar som sina argument. I alla dessa fall undviks duplicerade element.

byt namn på en katalog linux
Python3
# Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)>

Produktion
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>

Åtkomst till en uppsättning i Python

Uppsättningsobjekt kan inte nås genom att hänvisa till ett index, eftersom uppsättningar är oordnade har objekten inget index. Men du kan gå igenom Python-hash-uppsättningsobjekten med en for-loop, eller fråga om ett angivet värde finns i en uppsättning, genom att använda nyckelordet in.

Python3
# Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)>

Produktion

Initial set {'Geeks.', 'For', 'Geeks'}  Elements of set:  Geeks. For Geeks   True>

Ta bort element från uppsättningen i Python

Nedan är några av de sätt på vilka vi kan ta bort element från uppsättningen i Python:

  • Använd remove() Method eller discard() Method
  • Använder pop()-metoden
  • Använder metoden clear().

Använd remove() Method eller discard() Method

Element kan tas bort frånUtspelar sig i Pythongenom att använda den inbyggda remove()-funktionen men ett KeyError uppstår om elementet inte finns i hashsetet Python. För att ta bort element från en uppsättning utan KeyError, använd discard(), om elementet inte finns i uppsättningen förblir det oförändrat.

Python3
# Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing elements from Set using Remove() method set1.remove(5) set1.remove(6) print('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)>

Produktion
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}>

Använder pop()-metoden

Pop()-funktionen kan också användas för att ta bort och returnera ett element från uppsättningen, men den tar bara bort det sista elementet i uppsättningen.

Notera: Om uppsättningen är oordnad finns det inget sådant sätt att avgöra vilket element som poppas genom att använda pop()-funktionen.

Python3
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing element from the # Set using the pop() method set1.pop() print('
Set after popping an element: ') print(set1)>

Produktion
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}>

Använder metoden clear().

För att ta bort alla element från uppsättningen används clear()-funktionen.

Python3
#Creating a set set1 = set([1,2,3,4,5]) print('
 Initial set: ') print(set1) # Removing all the elements from  # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)>

Produktion
 Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>

FrystaUtspelar sig i Python

Frysta set i Python är oföränderliga objekt som endast stöder metoder och operatorer som producerar ett resultat utan att påverka den frysta uppsättningen eller uppsättningarna som de tillämpas på. Även om element i en uppsättning kan ändras när som helst, förblir element i den frysta uppsättningen desamma efter att de skapats.

Om inga parametrar skickas, returnerar den en tom frusen uppsättning.

ascii-tabell i c
Python3
# Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print('The FrozenSet is: ') print(Fset1) # To print Empty Frozen Set # No parameter is passed print('
Empty FrozenSet: ') print(frozenset())>

Produktion
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>

Typcasting av objekt till set

I det här exemplet, listor , strängar och ordböcker konverteras till set med hjälp av uppsättning() konstruktor, eliminerar dubbletter i listor och extraherar unika element i strängar och ordboksnycklar.

Python3
# Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print('my_list as a set: ', my_set) # Typecasting string into set my_str = 'techcodeview.com' my_set1 = set(my_str) print('my_str as a set: ', my_set1) # Typecasting dictionary into set my_dict = {1: 'One', 2: 'Two', 3: 'Three'} my_set2 = set(my_dict) print('my_dict as a set: ', my_set2)>

Produktion
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}>

Exempel: Implementera alla funktioner

I det här exemplet visar en serie funktioner vanliga operationer påuppsättningar i Python. Dessa inkluderar att skapa en uppsättning, lägga till och ta bort element, rensa uppsättningen, utföra setunion, intersektion, skillnad, symmetrisk skillnad, delmängd och supersetoperationer.

Python3
def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()>

Produktion
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True>

Fördelar med Set i Python

  • Unika element : Uppsättningar kan bara innehålla unika element, så de kan vara användbara för att ta bort dubbletter från en datasamling.
  • Snabb medlemstestning : Uppsättningar är optimerade för snabb medlemskapstestning, så de kan vara användbara för att avgöra om ett värde finns i en samling eller inte.
  • Matematiska setoperationer: Uppsättningar stöder matematiska uppsättningsoperationer som union, skärningspunkt och skillnad, vilket kan vara användbart för att arbeta med datauppsättningar.
  • Föränderlig : Uppsättningar är föränderliga, vilket innebär att du kan lägga till eller ta bort element från en uppsättning efter att den har skapats.

Nackdelar medUtspelar sig i Python

  • Obeställd : Uppsättningar är oordnade, vilket innebär att du inte kan lita på ordningen på data i uppsättningen. Detta kan göra det svårt att komma åt eller bearbeta data i en specifik ordning.
  • Begränsad funktionalitet: Uppsättningar har begränsad funktionalitet jämfört med listor, eftersom de inte stöder metoder som append() eller pop(). Detta kan göra det svårare att modifiera eller manipulera data som lagras i en uppsättning.
  • Minnesanvändning: Uppsättningar kan förbruka mer minne än listor, särskilt för små datauppsättningar. Detta beror på att varje element i en uppsättning kräver ytterligare minne för att lagra ett hashvärde.
  • Mindre vanligt: Uppsättningar används mindre ofta än listor och ordböcker i Python, vilket innebär att det kan finnas färre resurser eller bibliotek tillgängliga för att arbeta med dem. Det kan göra det svårare att hitta lösningar på problem eller att få hjälp med felsökning.

Sammantaget kan uppsättningar vara en användbar datastruktur i Python, särskilt för att ta bort dubbletter eller för snabb medlemskapstestning. Men deras bristande ordning och begränsade funktionalitet kan också göra dem mindre mångsidiga än listor eller ordböcker, så det är viktigt att noga överväga fördelarna och nackdelarna med att använda set när man bestämmer vilken datastruktur som ska användas i ditt Python-program.

Ställ in metoder i Python

FungeraBeskrivning
Lägg till() Lägger till ett element i en uppsättning
avlägsna() Tar bort ett element från en uppsättning. Om elementet inte finns i setet, höj ett KeyError
klar() Tar bort alla element från en uppsättning
kopiera() Returnerar en ytlig kopia av en uppsättning
pop() Tar bort och returnerar ett godtyckligt set-element. Öka KeyError om setet är tomt
uppdatering() Uppdaterar en uppsättning med föreningen av sig själv och andra
union() Returnerar föreningen av uppsättningar i en ny uppsättning
skillnad() Returnerar skillnaden mellan två eller flera uppsättningar som en ny uppsättning
skillnad_uppdatering() Tar bort alla element från en annan uppsättning från denna uppsättning
kassera() Tar bort ett element från uppsättningen om det är en medlem. (Gör ingenting om elementet inte är i set)
genomskärning() Returnerar skärningspunkten mellan två uppsättningar som en ny uppsättning
intersection_update()Uppdaterar uppsättningen med skärningspunkten mellan sig själv och en annan
isdisjunct() Returnerar True om två uppsättningar har en nollskärning
issubset() Returnerar True om en annan uppsättning innehåller denna uppsättning
superset() Returnerar True om denna uppsättning innehåller en annan uppsättning
symmetrisk_skillnad() Returnerar den symmetriska skillnaden för två uppsättningar som en ny uppsättning
symmetric_difference_update() Uppdaterar en uppsättning med den symmetriska skillnaden för sig själv och en annan

Nya artiklar om Python-uppsättningar

Ställ in program

  • Program för att acceptera strängarna som innehåller alla vokaler
  • Python-program för att hitta vanliga element i tre listor med hjälp av set
  • Hitta saknade och ytterligare värden i två listor
  • Par kompletta strängar i två set
  • Kontrollera om en given sträng är heterogram eller inte
  • Maximum och minimum i en uppsättning
  • Ta bort objekt från Set
  • Python Ställ in skillnad för att hitta förlorat element från en duplicerad array
  • Minsta antal delmängder med distinkta element med hjälp av Counter
  • Kontrollera om två listor har minst ett element gemensamt
  • Program för att räkna antalet vokaler med uppsättningar i en given sträng
  • Skillnad mellan två listor
  • Python inställd för att kontrollera om sträng är panagram
  • Python-uppsättningsoperationer (union, skärningspunkt, skillnad och symmetrisk skillnad)
  • Sammanfogad sträng med ovanliga tecken i Python
  • Python-ordbok, ställ in och räknare för att kontrollera om frekvenserna kan bli samma
  • Använder Set() i Python Pangram Checking
  • Ställ in update() i Python för att göra sammanslutning av n arrayer

Användbara länkar

  • Utdata från Python-program – Set
  • Nya artiklar om Python-uppsättningar
  • Flervalsfrågor – Python
  • Alla artiklar i Python-kategorin