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'.
Python3Merk: Et Python-sett kan ikke ha mutbare elementer som en liste eller ordbok, da det er uforanderlig.
# 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 amanPython3
# 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.
Python3Merk: 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.
# 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 javaPython3
# 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.
Python3Merk: Hvis settet er uordnet, er det ingen slik måte å finne ut hvilket element som vises ved å bruke pop()-funksjonen.
# 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 tPython3
#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
Funksjon | Beskrivelse |
---|---|
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