Python Set on järjestämätön kokoelma tietotyyppejä, joka on iteroitavissa, muuttuva ja jossa ei ole päällekkäisiä elementtejä. Elementtien järjestys joukossa on määrittelemätön, vaikka se voi koostua useista elementeistä. Suurin etu joukon käyttämisessä, toisin kuin luettelossa, on, että siinä on erittäin optimoitu menetelmä sen tarkistamiseksi, sisältyykö joukkoon tietty elementti. Täällä näemme, mikä on joukko Pythonissa, ja näemme myös erilaisia esimerkkejä joukosta Python.
Sarjan luominen Pythonissa
Python-sarjoja voidaan luoda käyttämällä sisäänrakennettua aseta() funktio iteroitavan kohteen tai sekvenssin kanssa asettamalla sekvenssi kiharaisiin aaltosulkeisiin pilkulla erotettuina.
Python 3Huomautus: Python-joukossa ei voi olla muuttuvia elementtejä, kuten luettelo tai sanakirja, koska se on muuttumaton.
# 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))>
Lähtö
java do while esimerkki
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'}>
Aika monimutkaisuus: O(n), missä n on syötetyn merkkijonon, listan, monikon tai sanakirjan pituus.
Aputila: O(n), missä n on syötetyn merkkijonon, listan, monikon tai sanakirjan pituus.
Python-joukko sisältää vain ainutlaatuisia elementtejä, mutta joukkoa luotaessa voidaan välittää myös useita päällekkäisiä arvoja. Python-joukon elementtien järjestys on määrittelemätön eikä sitä voi muuttaa. Joukon elementtien tyypin ei tarvitse olla sama, joukkoon voidaan välittää myös erilaisia sekaisin tietotyyppiarvoja.
teelusikallinen vs ruokalusikkaPython 3
# 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)>
Lähtö
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'}>
Python-joukon luominen toisella menetelmällä
Tässä esimerkissä joukko luodaan aaltosulkeilla {}, jotka sisältävät numerot 1, 2 ja 3. Pythonin joukon tietorakenne tai Pythonissa järjestämätön joukko ovat yksilöllisten elementtien järjestämättömiä kokoelmia, joten ne sopivat yksilöllisyyttä vaativiin tehtäviin ja asettaa toiminnot Pythonissa.
Python 3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>
Lähtö
{1, 2, 3}>
Elementtien lisääminen joukkoon Pythonissa
Alla on joitakin lähestymistapoja, joilla voimme lisätä elementtejä joukkoon Pythonissa:
- Käytä add()-menetelmää
- Käytä update()-menetelmää
Käytä add()-menetelmää
Elementtejä voidaan lisätäAsettaa Pythonissakäyttämällä sisäänrakennettua lisätä() toiminto. Vain yksi elementti kerrallaan voidaan lisätä joukkoon add()-menetelmällä, silmukoita käytetään useiden elementtien lisäämiseen kerralla add()-metodilla.
Python 3Huomautus: Listoja ei voi lisätä joukkoon elementteinä, koska listat eivät ole tiivistettävät, kun taas monikot voidaan lisätä, koska monikot ovat muuttumattomia ja siten hajautuskelpoisia.
# 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)>
Lähtö
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}>
Käytä update()-menetelmää
Kahden tai useamman elementin lisäämiseen käytetään Update()-menetelmää. Update()-menetelmä hyväksyy argumentteinaan luettelot, merkkijonot, monikot sekä muut Python-hajautusjoukot. Kaikissa näissä tapauksissa päällekkäisiä elementtejä vältetään.
Python 3 # 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)>
Lähtö
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>
Joukon käyttäminen Pythonissa
Joukkokohteita ei pääse käsiksi hakemistoon viittaamalla, koska joukot ovat järjestämättömiä, kohteilla ei ole indeksiä. Mutta voit kiertää Python-hajautusjoukon kohteita käyttämällä for-silmukkaa tai kysyä, onko joukossa määritetty arvo käyttämällä in-avainsanaa.
Python 3 # 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)>
Lähtö
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>
Elementtien poistaminen joukosta Pythonissa
Alla on joitain tapoja, joilla voimme poistaa elementtejä joukosta Pythonissa:
java opetusohjelmat
- Poista()- tai discard()-menetelmän käyttäminen
- Pop()-menetelmän käyttäminen
- Clear()-menetelmän käyttäminen
Poista()- tai discard()-menetelmän käyttäminen
Elementit voidaan poistaaAsettaa Pythonissakäyttämällä sisäänrakennettua Remove()-funktiota, mutta KeyError syntyy, jos elementtiä ei ole Python-hashsetissa. Jos haluat poistaa elementtejä joukosta ilman KeyError-toimintoa, käytä discard(:ta). Jos elementtiä ei ole joukossa, se pysyy muuttumattomana.
Python 3 # 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)>
Lähtö
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}>
Pop()-menetelmän käyttäminen
Pop()-funktiota voidaan käyttää myös elementin poistamiseen ja palauttamiseen joukosta, mutta se poistaa vain joukon viimeisen elementin.
merkkijonotaulukko c-kielellä
Python 3Huomautus: Jos joukko on järjestämätön, pop()-funktion avulla ei voi määrittää, mikä elementti pompataan.
# 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)>
Lähtö
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}>
Clear()-menetelmän käyttäminen
Poistaaksesi kaikki elementit joukosta, käytetään clear()-funktiota.
Python 3 #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)>
Lähtö
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>
JäätynytAsettaa Pythonissa
Jäädytetyt setit Pythonissa ovat muuttumattomia objekteja, jotka tukevat vain menetelmiä ja operaattoreita, jotka tuottavat tuloksen vaikuttamatta jäädytettyyn joukkoon tai sarjoihin, joihin niitä sovelletaan. Vaikka joukon elementtejä voidaan muokata milloin tahansa, jäädytetyn joukon elementit pysyvät samoina luomisen jälkeen.
Jos parametreja ei välitetä, se palauttaa tyhjän jäädytetyn joukon.
Python 3 # 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())>
Lähtö
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>
Objektien kirjoittaminen sarjoiksi
Tässä esimerkissä luetteloita , jouset ja sanakirjoja muunnetaan sarjoiksi käyttämällä aseta() rakentaja, poistaa kaksoiskappaleet luetteloista ja poimia ainutlaatuisia elementtejä merkkijonoista ja sanakirjan avaimista.
Python 3 # 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)>
Lähtö
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}>
Esimerkki: Kaikkien toimintojen toteuttaminen
Tässä esimerkissä joukko funktioita esittelee yleisiä toimintojaasettaa Pythonissa. Näitä ovat joukon luominen, elementtien lisääminen ja poistaminen, joukon tyhjentäminen, joukkojen yhdistäminen, leikkaus, erotus, symmetrinen ero, osajoukko ja superjoukkotoimintojen suorittaminen.
Python 3 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()>
Lähtö
{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>
Setin edut Pythonissa
- Ainutlaatuisia elementtejä : Joukot voivat sisältää vain yksilöllisiä elementtejä, joten niistä voi olla hyötyä kaksoiskappaleiden poistamisessa tietokokoelmasta.
- Nopea jäsenyystestaus : Joukot on optimoitu nopeaa jäsenyystestausta varten, joten niistä voi olla hyötyä määritettäessä, onko arvo kokoelmassa vai ei.
- Matemaattiset joukkooperaatiot: Joukot tukevat matemaattisia joukkooperaatioita, kuten liitto, leikkaus ja ero, joista voi olla hyötyä tietojoukkojen käsittelyssä.
- Vaihteleva : Joukot ovat muuttuvia, mikä tarkoittaa, että voit lisätä tai poistaa elementtejä joukosta sen luomisen jälkeen.
HaitatAsettaa Pythonissa
- Tilaamaton : Joukot ovat järjestämättömiä, mikä tarkoittaa, että et voi luottaa joukon tietojen järjestykseen. Tämä voi vaikeuttaa tietojen käyttöä tai käsittelyä tietyssä järjestyksessä.
- Rajoitettu toiminnallisuus: Sarjoilla on rajoitettu toiminnallisuus luetteloihin verrattuna, koska ne eivät tue menetelmiä, kuten append() tai pop(). Tämä voi vaikeuttaa joukkoon tallennettujen tietojen muokkaamista tai käsittelyä.
- Muistin käyttö: Joukot voivat kuluttaa enemmän muistia kuin luettelot, etenkin pienille tietojoukoille. Tämä johtuu siitä, että jokainen joukon elementti vaatii lisämuistia hash-arvon tallentamiseen.
- Harvemmin käytetty: Joukkoja käytetään harvemmin kuin luetteloita ja sanakirjoja Pythonissa, mikä tarkoittaa, että niiden kanssa työskentelemiseen voi olla vähemmän resursseja tai kirjastoja. Tämä voi vaikeuttaa ratkaisujen löytämistä ongelmiin tai avun saamista virheenkorjaukseen.
Kaiken kaikkiaan joukot voivat olla hyödyllinen tietorakenne Pythonissa, erityisesti kaksoiskappaleiden poistamiseen tai nopeaan jäsenyystestaukseen. Niiden järjestyksen puute ja rajoitettu toiminnallisuus voivat kuitenkin tehdä niistä vähemmän monipuolisia kuin luettelot tai sanakirjat, joten on tärkeää harkita huolellisesti joukkojen käytön edut ja haitat päätettäessä, mitä tietorakennetta käytetään Python-ohjelmassa.
Aseta menetelmät Pythonissa
Toiminto | Kuvaus |
---|---|
lisätä() | Lisää elementin joukkoon |
Poista() | Poistaa elementin joukosta. Jos elementtiä ei ole joukossa, nosta KeyError |
asia selvä() | Poistaa kaikki elementit joukosta |
kopio() | Palauttaa matalan kopion sarjasta |
pop() | Poistaa ja palauttaa mielivaltaisen joukkoelementin. Nosta KeyError, jos sarja on tyhjä |
päivittää() | Päivittää sarjan itsensä ja muiden liitolla |
liitto() | Palauttaa joukkojen liiton uudessa joukossa |
ero() | Palauttaa kahden tai useamman joukon eron uutena sarjana |
ero_päivitys() | Poistaa kaikki toisen joukon elementit tästä joukosta |
hylkää () | Poistaa elementin joukosta, jos se on jäsen. (Älä tee mitään, jos elementti ei ole asetettuna) |
Risteys() | Palauttaa kahden joukon leikkauspisteen uutena joukkona |
intersection_update() | Päivittää joukon itsensä ja toisen leikkauspisteellä |
isdisjoint() | Palauttaa True, jos kahdella joukolla on nollaleikkaus |
issubset() | Palauttaa True, jos toinen joukko sisältää tämän joukon |
superset() | Palauttaa True, jos tämä joukko sisältää toisen joukon |
symmetrinen_ero() | Palauttaa kahden joukon symmetrisen eron uutena joukkona |
symmetrinen_ero_päivitys() | Päivittää sarjan itsensä ja toisen symmetrisellä erolla |
Viimeisimmät artikkelit Python-sarjoista
Aseta ohjelmat
- Ohjelma hyväksyy kaikki vokaalit sisältävät merkkijonot
- Python-ohjelma löytää yhteisiä elementtejä kolmesta luettelosta joukkojen avulla
- Etsi puuttuvat ja lisäarvot kahdesta luettelosta
- Parit täydellisiä kieliä kahdessa sarjassa
- Tarkista, onko tietty merkkijono Heterogrammi vai ei
- Maksimi ja minimi sarjassa
- Poista kohteet joukosta
- Python Aseta ero löytääksesi kadonneen elementin monistetusta taulukosta
- Vähimmäismäärä alajoukkoja, joissa on erilliset elementit laskurin avulla
- Tarkista, onko kahdella listalla vähintään yksi yhteinen elementti
- Ohjelma laskea vokaalien lukumäärän joukoilla tietyssä merkkijonossa
- Ero kahden listan välillä
- Python asetettu tarkistamaan, onko merkkijono panagrammi
- Python-joukkooperaatiot (liitto, leikkaus, ero ja symmetrinen ero)
- Yhdistetty merkkijono, jossa on epätavallisia merkkejä Pythonissa
- Python-sanakirja, aseta ja laskuri tarkistaaksesi, voivatko taajuudet olla samat
- Set():n käyttäminen Python Pangram Checkingissa
- Aseta päivitys() Pythonissa yhdistämään n taulukkoa
hyödyllisiä linkkejä
- Python-ohjelmien tulostus – Sarjat
- Viimeisimmät artikkelit Python-sarjoista
- Monivalintakysymykset – Python
- Kaikki artikkelit Python-kategoriassa