logo

Python-sett

Python Set er en uordnet samling av datatyper som kan itereres, endres og ikke har dupliserte elementer. Rekkefølgen av elementer i et sett er udefinert, selv om den kan bestå av forskjellige elementer. Den største fordelen med å bruke et sett, i motsetning til en liste, er at det har en svært optimalisert metode for å sjekke om et spesifikt element er inneholdt i settet. Her vil vi se hva som er et sett i Python og også se forskjellige eksempler på sett Python.

Opprette et sett i Python

Python-sett kan opprettes ved å bruke den innebygde sett() funksjon med et gjentakelig objekt eller en sekvens ved å plassere sekvensen innenfor krøllete klammeparenteser, atskilt med et 'komma'.



Merk: Et Python-sett kan ikke ha mutbare elementer som en liste eller ordbok, da det er uforanderlig.

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

Produksjon

konvertere streng til json i java
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 lengden på inndatastrengen, listen, tuppelen eller ordboken.
Ekstra plass: O(n), hvor n er lengden på inndatastrengen, listen, tuppelen eller ordboken.



Et Python-sett inneholder bare unike elementer, men på tidspunktet for opprettelse av sett kan flere dupliserte verdier også sendes. Rekkefølgen av elementer i et Python-sett er udefinert og kan ikke endres. Type elementer i et sett trenger ikke være den samme, forskjellige blandede datatypeverdier kan også sendes til settet.

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

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

Opprette et Python-sett med en annen metode

I dette eksemplet opprettes et sett ved å bruke krøllete klammeparenteser {}-notasjon, som inneholder tallet 1,2 og 3. Sett datastruktur i Python eller uordnet sett i Python er uordnede samlinger av unike elementer, noe som gjør dem egnet for oppgaver som krever unikhet og angi operasjoner i Python.

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

Produksjon
{1, 2, 3}>

Legge til elementer i et sett i Python

Nedenfor er noen av tilnærmingene vi kan legge til elementer i et sett i Python:



  • Ved hjelp av add()-metoden
  • Bruke update()-metoden

Ved hjelp av add()-metoden

Elementer kan legges tilSetter i Pythonved å bruke den innebygde Legg til() funksjon. Bare ett element om gangen kan legges til settet ved å bruke add()-metoden, løkker brukes til å legge til flere elementer om gangen med bruk av add()-metoden.

Merk: Lister kan ikke legges til et sett som elementer fordi lister ikke er hashable, mens tuples kan legges til fordi tuples 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)>

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

Bruke update()-metoden

For å legge til to eller flere elementer, brukes Update()-metoden. Update()-metoden aksepterer lister, strenger, tupler så vel som andre Python-hash-sett som argumenter. I alle disse tilfellene unngås dupliserte 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)>

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

Få tilgang til et sett i Python

Sett elementer kan ikke nås ved å referere til en indeks, siden sett er uordnede, har elementene ingen indeks. Men du kan gå gjennom Python-hash-settet-elementene ved å bruke en for-løkke, eller spørre om en spesifisert verdi er til stede i et sett, ved å bruke nøkkelordet 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)>

Produksjon

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

Fjerne elementer fra settet i Python

Nedenfor er noen av måtene vi kan fjerne elementer fra settet i Python på:

  • Bruk remove() Method eller discard() Method
  • Bruker pop()-metoden
  • Bruker clear()-metoden

Bruk remove() Method eller discard() Method

Elementer kan fjernes fraSetter i Pythonved å bruke den innebygde remove()-funksjonen, men en KeyError oppstår hvis elementet ikke eksisterer i hashsettet Python. For å fjerne elementer fra et sett uten KeyError, bruk discard(), hvis elementet ikke eksisterer i settet, forblir det uendret.

faktoriell java
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)>

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

Bruker pop()-metoden

Pop()-funksjonen kan også brukes til å fjerne og returnere et element fra settet, men det fjerner bare det siste elementet i settet.

Merk: Hvis settet er uordnet, er det ingen slik måte å finne ut hvilket element som vises ved å bruke pop()-funksjonen.

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

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

Bruker clear()-metoden

For å fjerne alle elementene fra settet, brukes clear()-funksjonen.

j e s t
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)>

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

FrossenSetter i Python

Frosne sett i Python er uforanderlige objekter som bare støtter metoder og operatører som produserer et resultat uten å påvirke det frosne settet eller settene de brukes på. Mens elementer i et sett kan endres når som helst, forblir elementene i det frosne settet de samme etter opprettelsen.

Hvis ingen parametere sendes, returnerer den et tomt frossensett.

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

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

Typecasting av objekter til sett

I dette eksemplet, lister , strenger og ordbøker konverteres til sett ved hjelp av sett() konstruktør, eliminerer duplikater i lister og trekker ut unike elementer i strenger og ordboknøkler.

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

Produksjon
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 av alle funksjoner

I dette eksemplet viser en rekke funksjoner vanlige operasjoner påsett i Python. Disse inkluderer å lage et sett, legge til og fjerne elementer, tømme settet, utføre settforening, skjæringspunkt, forskjell, symmetrisk forskjell, delsett og supersettoperasjoner.

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

Produksjon
{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>

Fordeler med Set in Python

  • Unike elementer : Sett kan bare inneholde unike elementer, så de kan være nyttige for å fjerne duplikater fra en datasamling.
  • Rask medlemskapstesting : Sett er optimalisert for rask medlemskapstesting, så de kan være nyttige for å avgjøre om en verdi er i en samling eller ikke.
  • Matematiske settoperasjoner: Sett støtter matematiske settoperasjoner som union, skjæringspunkt og forskjell, noe som kan være nyttig for å arbeide med sett med data.
  • Mulig : Sett kan endres, noe som betyr at du kan legge til eller fjerne elementer fra et sett etter at det er opprettet.

Ulemper vedSetter i Python

  • Uordnet : Sett er uordnet, noe som betyr at du ikke kan stole på rekkefølgen på dataene i settet. Dette kan gjøre det vanskelig å få tilgang til eller behandle data i en bestemt rekkefølge.
  • Begrenset funksjonalitet: Sett har begrenset funksjonalitet sammenlignet med lister, siden de ikke støtter metoder som append() eller pop(). Dette kan gjøre det vanskeligere å endre eller manipulere data som er lagret i et sett.
  • Minnebruk: Sett kan bruke mer minne enn lister, spesielt for små datasett. Dette er fordi hvert element i et sett krever ekstra minne for å lagre en hash-verdi.
  • Mindre vanlig brukt: Sett er sjeldnere brukt enn lister og ordbøker i Python, noe som betyr at det kan være færre ressurser eller biblioteker tilgjengelig for å jobbe med dem. Dette kan gjøre det vanskeligere å finne løsninger på problemer eller å få hjelp med feilsøking.

Samlet sett kan sett være en nyttig datastruktur i Python, spesielt for å fjerne duplikater eller for rask medlemskapstesting. Imidlertid kan deres mangel på rekkefølge og begrensede funksjonalitet også gjøre dem mindre allsidige enn lister eller ordbøker, så det er viktig å nøye vurdere fordelene og ulempene ved å bruke sett når du bestemmer deg for hvilken datastruktur du skal bruke i Python-programmet.

Angi metoder i Python

FunksjonBeskrivelse
Legg til() Legger til et element i et sett
fjerne() Fjerner et element fra et sett. Hvis elementet ikke er tilstede i settet, opphev en KeyError
klar() Fjerner alle elementer fra et sett
kopiere() Returnerer en grunn kopi av et sett
pop() Fjerner og returnerer et vilkårlig settelement. Opphev KeyError hvis settet er tomt
Oppdater() Oppdaterer et sett med foreningen av seg selv og andre
union() Returnerer foreningen av sett i et nytt sett
forskjell() Returnerer differansen på to eller flere sett som et nytt sett
difference_update() Fjerner alle elementer fra et annet sett fra dette settet
forkast() Fjerner et element fra settet hvis det er et medlem. (Gjør ingenting hvis elementet ikke er i sett)
kryss() Returnerer skjæringspunktet mellom to sett som et nytt sett
intersection_update()Oppdaterer settet med skjæringspunktet mellom seg selv og en annen
er usammenhengende() Returnerer True hvis to sett har et nullskjæringspunkt
issubset() Returnerer True hvis et annet sett inneholder dette settet
supersett() Returnerer True hvis dette settet inneholder et annet sett
symmetrisk_forskjell() Returnerer den symmetriske forskjellen til to sett som et nytt sett
symmetrisk_forskjell_oppdatering() Oppdaterer et sett med den symmetriske forskjellen til seg selv og et annet

Nylige artikler om Python-sett

Still inn programmer

  • Program for å akseptere strengene som inneholder alle vokaler
  • Python-program for å finne vanlige elementer i tre lister ved hjelp av sett
  • Finn manglende og tilleggsverdier i to lister
  • Par komplette strenger i to sett
  • Sjekk om en gitt streng er Heterogram eller ikke
  • Maksimum og minimum i et sett
  • Fjern elementer fra sett
  • Python Sett forskjell for å finne tapt element fra en duplisert matrise
  • Minimum antall delsett med distinkte elementer ved hjelp av teller
  • Sjekk om to lister har minst ett element felles
  • Program for å telle antall vokaler ved å bruke sett i gitt streng
  • Forskjellen mellom to lister
  • Python satt til å sjekke om streng er panagram
  • Python-settoperasjoner (union, skjæringspunkt, forskjell og symmetrisk forskjell)
  • Sammenhengende streng med uvanlige tegn i Python
  • Python-ordbok, sett og teller for å sjekke om frekvensene kan bli de samme
  • Bruke Set() i Python Pangram-kontroll
  • Sett update() i Python for å gjøre forening av n matriser

nyttige lenker

  • Utdata fra Python-programmer – sett
  • Nylige artikler om Python-sett
  • Flervalgsspørsmål – Python
  • Alle artikler i Python-kategorien