Funkcija frozenset () vrne nespremenljiv objekt zamrznjene garniture, inicializiran z elementi iz danega iterable-ja.
Zamrznjeni nabor je le nespremenljiva različica predmeta nabora Python. Elemente nabora je mogoče kadar koli spremeniti, vendar elementi zamrznjenega nabora po ustvarjanju ostanejo enaki.
Zaradi tega lahko zamrznjene nabore uporabljamo kot tipke v slovarju ali kot elemente drugega nabora. Toda tako kot nizi ni urejen (elemente lahko nastavite na kateri koli indeks).
Sintaksa frozenset()
funkcije je:
frozenset ((iterable))
zamrznjeni () parametri
frozenset()
Funkcija ima en sam parameter:
- iterable (neobvezno) - iterable, ki vsebuje elemente, s katerimi je mogoče inicializirati zamrznjeni niz.
Iterable je mogoče nastaviti, slovar, nabor itd.
Vrnjena vrednost iz zamrznjenega nabora ()
Na frozenset()
funkcija vrne nespremenljive frozenset
inicializiran z elementi iz danih iterable.
Če niso posredovani nobeni parametri, vrne prazno frozenset
.
Primer 1: Delovanje Python frozenset ()
# tuple of vowels vowels = ('a', 'e', 'i', 'o', 'u') fSet = frozenset(vowels) print('The frozen set is:', fSet) print('The empty frozen set is:', frozenset()) # frozensets are immutable fSet.add('v')
Izhod
Zamrznjeni niz je: frozenset (('a', 'o', 'u', 'i', 'e')) Prazen zamrznjen niz je: frozenset () Traceback (zadnji zadnji klic): Datoteka ", vrstica 8, v fSet.add ('v') AttributeError: objekt 'frozenset' nima atributa 'add'
Primer 2: frozenset () za slovar
Ko slovar uporabljate kot iterabil za zamrznjeni nabor, za njegovo ustvarjanje potrebujete le tipke slovarja.
# random dictionary person = ("name": "John", "age": 23, "sex": "male") fSet = frozenset(person) print('The frozen set is:', fSet)
Izhod
Zamrznjeni niz je: frozenset (('ime', 'sex', 'age'))
Operacije zamrznjenega nabora
Kot običajnih sklopov, lahko frozenset opravljajo tudi različne dejavnosti, kot so copy
, difference
, intersection
, symmetric_difference
, in union
.
# Frozensets # initialize A and B A = frozenset((1, 2, 3, 4)) B = frozenset((3, 4, 5, 6)) # copying a frozenset C = A.copy() # Output: frozenset((1, 2, 3, 4)) print(C) # union print(A.union(B)) # Output: frozenset((1, 2, 3, 4, 5, 6)) # intersection print(A.intersection(B)) # Output: frozenset((3, 4)) # difference print(A.difference(B)) # Output: frozenset((1, 2)) # symmetric_difference print(A.symmetric_difference(B)) # Output: frozenset((1, 2, 5, 6))
Izhod
frozenset ((1, 2, 3, 4)) frozenset ((1, 2, 3, 4, 5, 6)) frozenset ((3, 4)) frozenset ((1, 2)) frozenset ((1, 2 , 5, 6))
Podobno so na voljo tudi druge nastavljene metode, kot isdisjoint
so issubset
, in issuperset
.
# Frozensets # initialize A, B and C A = frozenset((1, 2, 3, 4)) B = frozenset((3, 4, 5, 6)) C = frozenset((5, 6)) # isdisjoint() method print(A.isdisjoint(C)) # Output: True # issubset() method print(C.issubset(B)) # Output: True # issuperset() method print(B.issuperset(C)) # Output: True
Izhod
True True True