logo

Python sæt

Python Set er en uordnet samling af datatyper, der kan itereres, ændres og ikke har duplikerede elementer. Rækkefølgen af ​​elementer i et sæt er udefineret, selvom det kan bestå af forskellige elementer. Den største fordel ved at bruge et sæt, i modsætning til en liste, er, at det har en meget optimeret metode til at kontrollere, om et specifikt element er indeholdt i sættet. Her vil vi se, hvad der er et sæt i Python og også se forskellige eksempler på sæt Python.

Oprettelse af et sæt i Python

Python-sæt kan oprettes ved at bruge det indbyggede sæt() funktion med et iterabelt objekt eller en sekvens ved at placere sekvensen inden for krøllede klammeparenteser, adskilt af et 'komma'.

Bemærk: Et Python-sæt kan ikke have foranderlige elementer som en liste eller ordbog, da det er uforanderligt.



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

linkedlist og arraylist
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'}>

Tidskompleksitet: O(n), hvor n er længden af ​​inputstrengen, listen, tupelen eller ordbogen.
Hjælpeplads: O(n), hvor n er længden af ​​inputstrengen, listen, tupelen eller ordbogen.

Et Python-sæt indeholder kun unikke elementer, men på tidspunktet for oprettelse af sættet kan flere duplikerede værdier også sendes. Rækkefølgen af ​​elementer i et Python-sæt er udefineret og kan ikke ændres. Elementtypen i et sæt behøver ikke være den samme, forskellige blandede datatypeværdier kan også overføres til sættet.

skuespiller zeenat aman
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'}>

Oprettelse af et Python-sæt med en anden metode

I dette eksempel oprettes et sæt ved at bruge krøllede klammeparenteser {} notation, der indeholder tallet 1,2 og 3. Sæt datastruktur i Python eller uordnet sæt i Python er uordnede samlinger af unikke elementer, hvilket gør dem velegnede til opgaver, der kræver unikhed og indstille 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}>

Tilføjelse af elementer til et sæt i Python

Nedenfor er nogle af de metoder, hvormed vi kan tilføje elementer til et sæt i Python:

  • Brug add() metode
  • Bruger update() metoden

Brug af add() metoden

Elementer kan tilføjesSætter sig i Pythonved at bruge den indbyggede tilføje() fungere. Kun ét element ad gangen kan tilføjes til sættet ved at bruge add() metoden, loops bruges til at tilføje flere elementer ad gangen med brugen af ​​add() metoden.

Bemærk: Lister kan ikke tilføjes til et sæt som elementer, fordi lister ikke er hashbare, mens tuples kan tilføjes, fordi tupler er uforanderlige og dermed hashable.

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}>

Bruger update() metoden

Til tilføjelse af to eller flere elementer bruges Update() metoden. Update()-metoden accepterer lister, strenge, tupler samt andre Python-hash-sæt som dens argumenter. I alle disse tilfælde undgås duplikerede elementer.

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}>

Adgang til et sæt i Python

Sætte elementer kan ikke tilgås ved at henvise til et indeks, da sæt er uordnede, har elementerne ikke noget indeks. Men du kan gå gennem Python-hashsæt-elementerne ved hjælp af en for-løkke, eller spørge, om en specificeret værdi er til stede i et sæt, ved at bruge nøgleordet 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>

Fjernelse af elementer fra sættet i Python

Nedenfor er nogle af de måder, hvorpå vi kan fjerne elementer fra sættet i Python:

  • Brug remove() Method eller discard() Method
  • Brug af pop()-metoden
  • Brug af clear()-metoden

Brug remove() Method eller discard() Method

Elementer kan fjernes fraSætter sig i Pythonved at bruge den indbyggede remove()-funktion, men en KeyError opstår, hvis elementet ikke findes i hashsettet Python. For at fjerne elementer fra et sæt uden KeyError, brug discard(), hvis elementet ikke findes i sættet, forbliver det uændret.

tiger sammenlignet med løve
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}>

Brug af pop()-metoden

Pop()-funktionen kan også bruges til at fjerne og returnere et element fra sættet, men det fjerner kun det sidste element i sættet.

Bemærk: Hvis sættet er uordnet, er der ingen sådan måde at bestemme, hvilket element der er poppet ved at bruge 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}>

Brug af clear()-metoden

For at fjerne alle elementer fra sættet, bruges clear()-funktionen.

git push-kommando
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()>

FrossetSætter sig i Python

Frosne sæt i Python er uforanderlige objekter, der kun understøtter metoder og operatører, der producerer et resultat uden at påvirke det eller de frosne sæt, som de anvendes på. Mens elementer i et sæt kan ændres til enhver tid, forbliver elementer i det frosne sæt de samme efter oprettelsen.

Hvis ingen parametre sendes, returnerer den et tomt fastfrosset sæt.

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()>

Typecasting af objekter til sæt

I dette eksempel, lister , strenge og ordbøger konverteres til sæt ved hjælp af sæt() konstruktør, eliminerer dubletter i lister og udtrækker unikke elementer i strenge og ordbogsnøgler.

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}>

Eksempel: Implementering af alle funktioner

I dette eksempel viser en række funktioner almindelige operationer påsæt i Python. Disse omfatter oprettelse af et sæt, tilføjelse og fjernelse af elementer, rydning af sættet, udførelse af sætforening, skæring, forskel, symmetrisk forskel, delmængde og supersæt-operationer.

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>

Fordele ved Set i Python

  • Unikke elementer : Sæt kan kun indeholde unikke elementer, så de kan være nyttige til at fjerne dubletter fra en samling af data.
  • Hurtig medlemstest : Sæt er optimeret til hurtig medlemskabstest, så de kan være nyttige til at bestemme, om en værdi er i en samling eller ej.
  • Matematiske sætoperationer: Sæt understøtter matematiske sætoperationer som f.eks. forening, skæringspunkt og forskel, hvilket kan være nyttigt til at arbejde med datasæt.
  • Foranderlig : Sæt kan ændres, hvilket betyder, at du kan tilføje eller fjerne elementer fra et sæt, efter at det er blevet oprettet.

Ulemper vedSætter sig i Python

  • Uordnet : Sættene er uordnede, hvilket betyder, at du ikke kan stole på rækkefølgen af ​​dataene i sættet. Dette kan gøre det vanskeligt at få adgang til eller behandle data i en bestemt rækkefølge.
  • Begrænset funktionalitet: Sæt har begrænset funktionalitet sammenlignet med lister, da de ikke understøtter metoder som append() eller pop(). Dette kan gøre det sværere at ændre eller manipulere data gemt i et sæt.
  • Hukommelsesbrug: Sæt kan forbruge mere hukommelse end lister, især for små datasæt. Dette skyldes, at hvert element i et sæt kræver yderligere hukommelse for at gemme en hashværdi.
  • Mindre almindeligt brugt: Sæt er mindre almindeligt brugt end lister og ordbøger i Python, hvilket betyder, at der kan være færre ressourcer eller biblioteker til rådighed til at arbejde med dem. Dette kan gøre det sværere at finde løsninger på problemer eller at få hjælp til fejlretning.

Samlet set kan sæt være en nyttig datastruktur i Python, især til at fjerne dubletter eller til hurtig medlemskabstest. Deres manglende rækkefølge og begrænsede funktionalitet kan dog også gøre dem mindre alsidige end lister eller ordbøger, så det er vigtigt nøje at overveje fordele og ulemper ved at bruge sæt, når man beslutter sig for, hvilken datastruktur der skal bruges i dit Python-program.

Indstil metoder i Python

FungereBeskrivelse
tilføje() Tilføjer et element til et sæt
fjerne() Fjerner et element fra et sæt. Hvis elementet ikke er til stede i sættet, rejs en KeyError
klar() Fjerner alle elementer fra et sæt
kopi() Returnerer en overfladisk kopi af et sæt
pop() Fjerner og returnerer et vilkårligt sætelement. Hæv KeyError, hvis sættet er tomt
update() Opdaterer et sæt med foreningen af ​​sig selv og andre
Union() Returnerer foreningen af ​​sæt i et nyt sæt
forskel() Returnerer forskellen på to eller flere sæt som et nyt sæt
difference_update() Fjerner alle elementer fra et andet sæt fra dette sæt
kassere() Fjerner et element fra sættet, hvis det er et medlem. (Gør intet, hvis elementet ikke er i sæt)
vejkryds() Returnerer skæringspunktet mellem to sæt som et nyt sæt
intersection_update()Opdaterer sættet med skæringspunktet mellem sig selv og en anden
er usammenhængende() Returnerer Sand, hvis to sæt har et nul skæringspunkt
issubset() Returnerer True, hvis et andet sæt indeholder dette sæt
supersæt() Returnerer True, hvis dette sæt indeholder et andet sæt
symmetrisk_forskel() Returnerer den symmetriske forskel for to sæt som et nyt sæt
symmetrisk_difference_update() Opdaterer et sæt med den symmetriske forskel på sig selv og et andet

Seneste artikler om Python-sæt

Indstil programmer

  • Program til at acceptere strengene, der indeholder alle vokaler
  • Python-program til at finde almindelige elementer i tre lister ved hjælp af sæt
  • Find manglende og yderligere værdier i to lister
  • Par komplette strenge i to sæt
  • Tjek, om en given streng er Heterogram eller ej
  • Maksimum og minimum i et sæt
  • Fjern elementer fra sæt
  • Python Indstil forskel for at finde tabt element fra et duplikeret array
  • Minimum antal delmængder med forskellige elementer ved hjælp af tæller
  • Tjek, om to lister har mindst ét ​​element fælles
  • Program til at tælle antallet af vokaler ved hjælp af sæt i en given streng
  • Forskellen mellem to lister
  • Python indstillet til at kontrollere, om streng er panagram
  • Python-sætoperationer (forening, skæringspunkt, forskel og symmetrisk forskel)
  • Sammenkædet streng med ualmindelige tegn i Python
  • Python-ordbog, sæt og tæller for at kontrollere, om frekvenserne kan blive ens
  • Brug af Set() i Python Pangram Checking
  • Indstil update() i Python til at lave forening af n arrays

nyttige links

  • Output af Python-programmer – sæt
  • Seneste artikler om Python-sæt
  • Multiple Choice-spørgsmål – Python
  • Alle artikler i Python-kategorien