logo

Iestati Python

Python programmēšanas kopa ir nesakārtots kolekcijas datu tips, kas ir atkārtojams, maināms un kam nav dublikātu elementu.

Kopa ir attēlota ar { } (vērtības ir ietvertas cirtainos iekavās)



Galvenā komplekta izmantošanas priekšrocība pretstatā a sarakstu , ir tas, ka tai ir ļoti optimizēta metode, lai pārbaudītu, vai komplektā ir ietverts konkrēts elements. Tas ir balstīts uz datu struktūru, kas pazīstama kā jaucējtabula. Tā kā kopas nav sakārtotas, mēs nevaram piekļūt vienumiem, izmantojot indeksus, kā to darām sarakstos.

Python komplektu piemērs

Python3








var>=> {>'Geeks'>,>'for'>,>'Geeks'>}> type>(var)>

>

>

Izvade:

set>

Laika sarežģītība: O(1)
Palīgtelpa: O(1)

Ierakstiet Casting ar Python Set metodi

Python set() metode tiek izmantota tipa liešanai.

Python3




# typecasting list to set> myset>=> set>([>'a'>,>'b'>,>'c'>])> print>(myset)> # Adding element to the set> myset.add(>'d'>)> print>(myset)>

garuma virkne

>

>

Izvade:

Python kopa ir nesakārtots datu tips, kas nozīmē, ka mēs nevaram zināt, kādā secībā kopas elementi tiek glabāti.

{'c', 'b', 'a'} {'d', 'c', 'b', 'a'}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Pārbaudiet unikālo un nemainīgo, izmantojot Python Set

Python komplektiem nevar būt dublēta vērtība, un, kad tā ir izveidota, mēs nevaram mainīt tās vērtību.

Python3




# Python program to demonstrate that> # a set cannot have duplicate values> # and we cannot change its items> # a set cannot have duplicate values> myset>=> {>'Geeks'>,>'for'>,>'Geeks'>}> print>(myset)> # values of a set cannot be changed> myset[>1>]>=> 'Hello'> print>(myset)>

>

>

Izvade:

Pirmais kods paskaidro, ka kopai nevar būt dublēta vērtība. Katrs priekšmets tajā ir unikāla vērtība.

Otrais kods rada kļūdu, jo mēs nevaram piešķirt vai mainīt vērtību pēc kopas izveides. Mēs varam pievienot vai dzēst tikai vienumus komplektā.

{'Geeks', 'for'} TypeError: 'set' object does not support item assignment>

Heterogēns elements ar Python komplektu

Python kopas tajā var glabāt neviendabīgus elementus, t.i., kopa var uzglabāt virknes, veselu skaitļu, Būla uc datu tipu maisījumus.

Python3




# Python example demonstrate that a set> # can store heterogeneous elements> myset>=> {>'Geeks'>,>'for'>,>10>,>52.7>,>True>}> print>(myset)>

>

fonta izmēra latekss
>

Izvade:

{True, 10, 'Geeks', 52.7, 'for'}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Python iesaldētie komplekti

Saldēti komplekti Python ir nemainīgi objekti, kas atbalsta tikai metodes un operatorus, kas rada rezultātu, neietekmējot iesaldēto kopu vai kopas, kurām tie tiek lietoti. To var izdarīt ar frozenset() metodi Python.

Lai gan kopas elementus var mainīt jebkurā laikā, iesaldētās kopas elementi pēc izveides paliek nemainīgi.

Ja parametri netiek nodoti, tas atgriež tukšu iesaldēto kopu.

Python




# Python program to demonstrate differences> # between normal and frozen set> # Same as {'a', 'b','c'}> normal_set>=> set>([>'a'>,>'b'>,>'c'>])> print>(>'Normal Set'>)> print>(normal_set)> # A frozen set> frozen_set>=> frozenset>([>'e'>,>'f'>,>'g'>])> print>(>' Frozen Set'>)> print>(frozen_set)> # Uncommenting below line would cause error as> # we are trying to add element to a frozen set> # frozen_set.add('h')>

>

>

Izvade:

Normal Set {'a', 'c', 'b'} Frozen Set {'e', 'g', 'f'}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Komplekta iekšējā darbība

Tas ir balstīts uz datu struktūru, kas pazīstama kā hash tabula. Ja vienā indeksa pozīcijā ir vairākas vērtības, vērtība tiek pievienota šai indeksa pozīcijai, lai izveidotu saistīto sarakstu.

Python komplekti tiek ieviesti, izmantojot vārdnīcu ar fiktīviem mainīgajiem, kur galvenās būtnes dalībnieki iestata ar lielāku laika sarežģītības optimizāciju.

Iestatījuma ieviešana:

Iestati Python — iekšējā darbība

Komplekti ar daudzām darbībām vienā HashTable:

Iestati Python — jaucēj tabula

Metodes komplektiem

Elementu pievienošana Python komplektiem

Ievietošana komplektā tiek veikta caur set.add( ) funkcija, kur tiek izveidota atbilstoša ieraksta vērtība, ko saglabāt hash tabulā. Tas pats, kas pārbaudīt preci, t.i., vidēji O(1). Tomēr sliktākajā gadījumā tas var kļūt O(n) .

Python3




polimorfisms java

# A Python program to> # demonstrate adding elements> # in a set> # Creating a Set> people>=> {>'Jay'>,>'Idrish'>,>'Archi'>}> print>(>'People:'>, end>=> ' '>)> print>(people)> # This will add Daxit> # in the set> people.add(>'Daxit'>)> # Adding elements to the> # set using iterator> for> i>in> range>(>1>,>6>):> >people.add(i)> print>(>' Set after adding element:'>, end>=> ' '>)> print>(people)>

>

>

Izvade:

People: {'Idrish', 'Archi', 'Jay'} Set after adding element: {1, 2, 3, 4, 5, 'Idrish', 'Archi', 'Jay', 'Daxit'}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Savienības darbība Python komplektos

Divas kopas var apvienot, izmantojot funkciju union() vai | operators. Abām Hash tabulas vērtībām tiek piekļūts un tās tiek šķērsotas, veicot sapludināšanas operāciju, lai apvienotu elementus, tajā pašā laikā tiek noņemti dublikāti. Laika sarežģītība šajā ir O(len(s1) + len(s2)) kur s1 un s2 ir divas kopas, kuru savienošana ir jāveic.

Python3




# Python Program to> # demonstrate union of> # two sets> people>=> {>'Jay'>,>'Idrish'>,>'Archil'>}> vampires>=> {>'Karan'>,>'Arjun'>}> dracula>=> {>'Deepanshu'>,>'Raju'>}> # Union using union()> # function> population>=> people.union(vampires)> print>(>'Union using union() function'>)> print>(population)> # Union using '|'> # operator> population>=> people|dracula> print>(>' Union using '|' operator'>)> print>(population)>

>

>

Izvade:

Union using union() function {'Karan', 'Idrish', 'Jay', 'Arjun', 'Archil'} Union using '|' operator {'Deepanshu', 'Idrish', 'Jay', 'Raju', 'Archil'}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Krustojuma darbība Python komplektos

To var izdarīt, izmantojot intersection() vai & operatoru. Ir atlasīti kopējie elementi. Tie ir līdzīgi iterācijai Hash sarakstos un vienādu vērtību apvienošanai abās tabulās. Laika sarežģītība ir O(min(len(s1), len(s2)), kur s1 un s2 ir divas kopas, kuru savienošana ir jāveic.

Python3




# Python program to> # demonstrate intersection> # of two sets> set1>=> set>()> set2>=> set>()> for> i>in> range>(>5>):> >set1.add(i)> for> i>in> range>(>3>,>9>):> >set2.add(i)> # Intersection using> # intersection() function> set3>=> set1.intersection(set2)> print>(>'Intersection using intersection() function'>)> print>(set3)> # Intersection using> # '&' operator> set3>=> set1 & set2> print>(>' Intersection using '&' operator'>)> print>(set3)>

>

>

Izvade:

Intersection using intersection() function {3, 4} Intersection using '&' operator {3, 4}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Kopu atšķirību atrašana programmā Python

Lai atrastu atšķirības starp komplektiem. Līdzīgi kā atšķirību atrašanai saistītajā sarakstā. Tas tiek darīts, izmantojot operatoru different() vai –. Atšķirības s1 – s2 atrašanas laika sarežģītība ir O(len(s1))

Python3




# Python program to> # demonstrate difference> # of two sets> set1>=> set>()> set2>=> set>()> for> i>in> range>(>5>):> >set1.add(i)> for> i>in> range>(>3>,>9>):> >set2.add(i)> # Difference of two sets> # using difference() function> set3>=> set1.difference(set2)> print>(>' Difference of two sets using difference() function'>)> print>(set3)> # Difference of two sets> # using '-' operator> set3>=> set1>-> set2> print>(>' Difference of two sets using '-' operator'>)> print>(set3)>

>

>

Izvade:

Difference of two sets using difference() function {0, 1, 2} Difference of two sets using '-' operator {0, 1, 2}>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Python komplektu dzēšana

Set Clear() metode iztukšo visu kopu vietā.

Python3




gimp saglabāt kā jpeg
# Python program to> # demonstrate clearing> # of set> set1>=> {>1>,>2>,>3>,>4>,>5>,>6>}> print>(>'Initial set'>)> print>(set1)> # This method will remove> # all the elements of the set> set1.clear()> print>(>' Set after using clear() function'>)> print>(set1)>

>

>

Izvade:

Initial set {1, 2, 3, 4, 5, 6} Set after using clear() function set()>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Tomēr Python komplektos ir divas galvenās nepilnības:

  1. Komplektā elementi netiek uzturēti noteiktā secībā.
  2. Python kopai var pievienot tikai nemaināmu tipu gadījumus.

Komplektu laika sarežģītība

Darbība Vidējais gadījums Sliktākajā gadījumā piezīmes
x s O(1) O(n)
Apvienības s|t O(len(s)+len(t))
Krustojums s&t O(min(len(s), len(t)) O(len(s)* len(t)) aizstāt min ar max, ja t nav kopa
Vairāki krustojumi s1&s2&..&sn (n-1)*O(l) kur l ir max(len(s1),..,len(sn))
Atšķirība s-t O (tikai(s))

Operatori komplektiem

Komplekti un iesaldētie komplekti atbalsta šādus operatorus:

Operatori Piezīmes
ievadiet s ierobežošanas pārbaude
atslēga nav s neierobežojuma pārbaude
s1 == s2 s1 ir ekvivalents s2
s1 != s2 s1 nav līdzvērtīgs s2
s1 <= s2 s1 ir s2 apakškopa
s1 s1 ir pareiza s2 apakškopa
s1>= s2 s1 ir s2 superkopa
s1> s2 s1 ir pareiza s2 superkopa
s1 | s2 s1 un s2 savienība
s1 un s2 s1 un s2 krustpunkts
s1 – s2 elementu kopa s1, bet ne s2
s1 ˆ s2 elementu kopa precīzi vienā no s1 vai s2

Jaunākie raksti par Python Set.