8.1 set-tuple
frozenset
koleksiyası — set
-in dəyişməz analoqudur. Bu, çoxluğun bütün imkanlarını təqdim edir, lakin onun elementlərini yaradıldıqdan sonra dəyişməyə imkan vermir. frozenset
o hallarda faydalıdır ki, unikal elementləri saxlamaq və çoxluğun dəyişməyəcəyinə zəmanət vermək tələb olunur.
frozenset
-in yaradılması
frozenset
-i yaratmaq üçün frozenset()
funksiyasından istifadə etmək olar, ona iterasiya edilə bilən obyekt (list, tuple, string və s.) ötürərək.
Nümunələr:
frozenset
-in list-dən yaradılması
# frozenset-in list-dən yaradılması
fset1 = frozenset([1, 2, 3, 4])
print(fset1) # Çıxış: frozenset({1, 2, 3, 4})
frozenset
-in string-dən yaradılması
# frozenset-in string-dən yaradılması
fset2 = frozenset("hello")
print(fset2) # Çıxış: frozenset({'h', 'e', 'l', 'o'})
Boş frozenset
-in yaradılması
# Boş frozenset-in yaradılması
fset3 = frozenset()
print(fset3) # Çıxış: frozenset()
8.2 Əsas frozenset
metodları
frozenset
dəyişkən cəmlər üçün mövcud olan metodların əksəriyyətini dəstəkləyir (set)
, amma o dəyişməz olduğu üçün, cəmi dəyişən metodlar mövcud deyil.
Nümunələr:
Cəmlərin birləşdirilməsi (union)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Cəmlərin birləşdirilməsi (union)
print(fset1 | fset2) # Çıxış: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2)) # Çıxış: frozenset({1, 2, 3, 4, 5, 6})
Cəmlərin kəsişməsi (intersection)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Cəmlərin kəsişməsi (intersection)
print(fset1 & fset2) # Çıxış: frozenset({3, 4})
print(fset1.intersection(fset2)) # Çıxış: frozenset({3, 4})
Cəmlərin fərqi (difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Cəmlərin fərqi (difference)
print(fset1 - fset2) # Çıxış: frozenset({1, 2})
print(fset1.difference(fset2)) # Çıxış: frozenset({1, 2})
Simmetrik fərq (symmetric difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Simmetrik fərq (symmetric difference)
print(fset1 ^ fset2) # Çıxış: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2)) # Çıxış: frozenset({1, 2, 5, 6})
8.3 frozenset
-in tətbiqi
frozenset
aşağıdakı hallarda faydalıdır:
Sözlüklərdə açar kimi istifadə:
frozenset
dəyişməz olduğundan, onu sözlüklərdə açar kimi istifadə etmək olar.
fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
d = {fset1: "birinci", fset2: "ikinci"}
print(d) # Çıxış: {frozenset({1, 2, 3}): 'birinci', frozenset({3, 4, 5}): 'ikinci'}
Dəyişməz çoxluqların saxlanması:
Əgər gələcəkdə dəyişdirilməyəcək unikal elementlərdən ibarət çoxluq yaratmaq lazımdırsa, frozenset
— əla seçimdir.
Verilənlərin təhlükəsizliyi:
frozenset
-dən istifadə etmək, proqramın icrası zamanı məlumatların təsadüfən dəyişdirilməyəcəyinə zəmanət verir.
GO TO FULL VERSION