Կարող եք ձեր կոդը փորձարկել այստեղ
Հավաքածուն հավաքածուի մեկ այլ տեսակ է, որը պահպանում է միայն եզակի տարրեր: Կոմպլեկտ սահմանելու համար օգտագործվում են գանգուր փակագծեր՝ տարրերը թվարկելու համար.
users = {"Tom", "Bob", "Alice", "Tom"}
print(users) # {"Alice", "Bob", "Tom"}
Խնդրում ենք նկատի ունենալ, որ թեև տպման գործառույթը մեկ անգամ տպել է «Tom» տարրը, հավաքածուի սահմանումը պարունակում է այս տարրը երկու անգամ: Դա պայմանավորված է նրանով, որ հավաքածուն պարունակում է միայն եզակի արժեքներ:
Նաև բազմություն սահմանելու համար կարող է օգտագործվել set() ֆունկցիան , որին փոխանցվում է տարրերի ցանկ կամ բազմապատիկ.
people = ["Mike", "Bill", "Ted"]
users = set(people)
print(users) # {"Mike", "Bill", "Ted"}
Set ֆունկցիան հարմար է օգտագործել դատարկ հավաքածու ստեղծելու համար.
users = set()
Կոմպլեկտի երկարությունը ստանալու համար օգտագործեք ներկառուցված len() ֆունկցիան.
users = {"Tom", "Bob", "Alice"}
print(len(users)) # 3
Էլեմենտների ավելացում
Մեկ տարր ավելացնելու համար add() մեթոդը կոչվում է.
users = set()
users.add("Sam")
print(users)
Նյութերի հեռացում
Մեկ տարր հեռացնելու համար remove() մեթոդը կոչվում է , որին փոխանցվում է հեռացվող տարրը։ Բայց պետք է հաշվի առնել, որ եթե այդպիսի տարր չկա հավաքածուում, ապա կառաջանա սխալ։ Հետևաբար, նախքան ջնջելը, դուք պետք է ստուգեք տարրի առկայությունը՝ օգտագործելով in օպերատորը.
users = {"Tom", "Bob", "Alice"}
user = "Tom"
if user in users:
users.remove(user)
print(users) # {"Bob", "Alice"}
Դուք կարող եք նաև օգտագործել discard() մեթոդը հեռացնելու համար , որը բացառություններ չի անի, եթե տարրը բացակայում է.
users = {"Tom", "Bob", "Alice"}
users.discard("Tim") # элемент "Tim" отсутствует, и метод ничего не делает
print(users) # {"Tom", "Bob", "Alice"}
users.discard("Tom") # элемент "Tom" есть, и метод удаляет элемент
print(users) # {"Bob", "Alice"}
Բոլոր տարրերը հեռացնելու համար clear() մեթոդը կոչվում է.
users.clear()
Կրկնվող հավաքածուի միջով
Դուք կարող եք օգտագործել for loop՝ տարրերի միջով կրկնելու համար.
users = {"Tom", "Bob", "Alice"}
for user in users:
print(user)
Կրկնելիս յուրաքանչյուր տարր տեղադրվում է օգտագործողի փոփոխականում։
Սահմանել գործողությունները
Օգտագործելով copy() մեթոդը , դուք կարող եք պատճենել մի հավաքածուի բովանդակությունը մեկ այլ փոփոխականում՝
users = {"Tom", "Bob", "Alice"}
students = users.copy()
print(students) # {"Tom", "Bob", "Alice"}
Կոմպլեկտների միություն
Union() մեթոդը միավորում է երկու բազմություն և վերադարձնում նոր բազմություն.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
users3 = users.union(users2)
print(users3) # {"Bob", "Alice", "Sam", "Kate", "Tom"}
Մեթոդի փոխարեն union()մենք կարող ենք օգտագործել տրամաբանական գումարման գործողությունը - | :
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
print(users | users2) # {"Bob", "Alice", "Sam", "Kate", "Tom"}
Շատերի խաչմերուկ
Բազմությունների խաչմերուկը մեզ թույլ է տալիս ստանալ միայն այն տարրերը, որոնք միաժամանակ երկու հավաքածուներում են: Intersection() մեթոդը կատարում է բազմությունների հատման գործողությունը և վերադարձնում նոր բազմություն.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
users3 = users.intersection(users2)
print(users3) # {"Bob"}
Խաչմերուկի մեթոդի փոխարեն մենք կարող ենք օգտագործել տրամաբանական բազմապատկման գործողությունը.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
print(users & users2) # {"Bob"}
Այս դեպքում մենք կստանայինք նույն արդյունքը։
Մեթոդի փոփոխությունը՝ intersection_update()- ը փոխարինում է առաջին հավաքածուն հատվող տարրերով.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
users.intersection_update(users2)
print(users) # {"Bob"}
Սահմանել տարբերությունը
Մեկ այլ գործողություն՝ սահմանված տարբերությունը, վերադարձնում է այն տարրերը, որոնք գտնվում են առաջին հավաքածուում, բայց ոչ երկրորդում: Կոմպլեկտների տարբերությունը ստանալու համար կարող եք օգտագործել տարբերության մեթոդը կամ հանման գործողությունը.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
users3 = users.difference(users2)
print(users3) # {"Tom", "Alice"}
print(users - users2) # {"Tom", "Alice"}
Բազմության տարբերության առանձին տեսակ՝ սիմետրիկ տարբերություն արտադրվում է symmetric_difference() մեթոդի միջոցով կամ օգտագործելով գործողությունը ^: Այն վերադարձնում է երկու հավաքածուների բոլոր տարրերը, բացառությամբ ընդհանուրների.
users = {"Tom", "Bob", "Alice"}
users2 = {"Sam", "Kate", "Bob"}
users3 = users.symmetric_difference(users2)
print(users3) # {"Tom", "Alice", "Sam", "Kate"}
users4 = users ^ users2
print(users4) # {"Tom", "Alice", "Sam", "Kate"}
Կոմպլեկտների միջև հարաբերությունները
Issubset մեթոդը թույլ է տալիս պարզել, թե արդյոք ընթացիկ բազմությունը ենթաբազմություն է (այսինքն, մաս) մեկ այլ բազմության.
users = {"Tom", "Bob", "Alice"}
superusers = {"Sam", "Tom", "Bob", "Alice", "Greg"}
print(users.issubset(superusers)) # True
print(superusers.issubset(users)) # False
Մյուս կողմից, issuperset մեթոդը վերադարձնում է True, եթե ընթացիկ բազմությունը գերբազմություն է (այսինքն, պարունակում է) մեկ այլ բազմություն.
users = {"Tom", "Bob", "Alice"}
superusers = {"Sam", "Tom", "Bob", "Alice", "Greg"}
print(users.issuperset(superusers)) # False
print(superusers.issuperset(users)) # True
սառեցված հավաքածու
Սառեցված հավաքածուի տեսակը հավաքածուի տեսակ է, որը հնարավոր չէ փոխել: Այն ստեղծելու համար օգտագործեք «Frozenset» ֆունկցիան.
users = frozenset({"Tom", "Bob", "Alice"})
Սառեցված ֆունկցիային փոխանցվում է տարրերի մի շարք՝ ցուցակ, բազմակի կամ մեկ այլ հավաքածու:
Մենք չենք կարող նոր տարրեր ավելացնել նման հավաքածուի մեջ, ոչ էլ կարող ենք հեռացնել գոյություն ունեցողները: Սա է իրականում պատճառը, որ սառեցված հավաքածուն աջակցում է սահմանափակ գործողությունների շարք.
len(s): վերադարձնում է հավաքածուի երկարությունը x in s: վերադարձնում է True, եթե x տարրը առկա է s բազմությունում x not in s: վերադարձնում է True, եթե x տարրը s բազմությունում չէ s.issubset(t): վերադարձնում է True, եթե t-ը պարունակում է s բազմություն s.issuperset(t): վերադարձնում է True, եթե t-ը s բազմության մեջ է s.union(t) - վերադարձնում է s և t բազմությունների միությունը s.intersection(t): վերադարձնում է s և t բազմությունների հատումը s.difference(t): վերադարձնում է s և t բազմությունների տարբերությունը s.copy(): վերադարձնում է հավաքածուի պատճենը s
Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել