Python Sets არის კოლექციის ტიპი, რომელიც შეიცავს უწესრიგო კოლექცია უნიკალური და უცვლელი ობიექტები. სხვა სიტყვებით რომ ვთქვათ, Python- ის ნაკრებში არ შეიძლება დუბლირებული ნივთების შენახვა და მას შემდეგ, რაც კომპლექტი შეიქმნება, ერთეულები ვერ შეიცვლება.
Შენიშვნა:სიმრავლის ელემენტები უცვლელია, ეს ნიშნავს, რომ ერთეულების შეცვლა არ შეგვიძლია. ამასთან, კომპლექტი თავისთავად ცვალებადია, ანუ შეგვიძლია დავამატოთ და ამოვიღოთ ერთეულებიდან.წესრიგი არ არის დაცული. მაგალითად, ყოველთვის, როდესაც ერთსა და იმავე ნაკრებს ბეჭდავთ, ნივთების თანმიმდევრობა შეიძლება განსხვავებული იყოს.
Python- ში, კომპლექტების აგება ხვეული ფრჩხილების გამოყენებით ხდება {}
და ნაკრების თითოეული ელემენტი გამოყოფილია მძიმით ,
.
Python სიების მსგავსად, კომპლექტებს ასევე შეუძლიათ შეიცავდეს მრავალი სხვადასხვა ტიპის ობიექტს, ამიტომ მათ არ სჭირდებათ სიმები, ან მთელი რიცხვები. მაგალითად, შეგვიძლია გვქონდეს ნაკრები, რომელიც შეიცავს შერეულ ტიპებს:
mixedTypesSet = {'one', True, 13, 2.0}
colorsSet = {'red', 'green', 'blue'} print(colorsSet)
გამომავალი:
{'red', 'blue', 'green'}
ჩვენ არ შეგვიძლია გამოვიყენოთ ინდექსი, რომ მივიღოთ კომპლექტი ერთეულზე. ეს იმიტომ ხდება, რომ სიმრავლე არ არის დალაგებული და არ ინარჩუნებს ინდექსს. ამასთან, შეგვიძლია გამოვიყენოთ for
განლაგება განლაგებულია ერთეულების ერთეულებში.
colorsSet = {'red', 'green', 'blue'} for c in colorsSet:
print(c)
გამომავალი:
green red blue
სიმრავლეს ერთი ელემენტის დასამატებლად უნდა გამოვიყენოთ add()
მეთოდი
ერთზე მეტი ერთეულის დასამატებლად უნდა გამოვიყენოთ update()
მეთოდი
colorsSet = {'red', 'green', 'blue'} colorsSet.add('yellow') print(colorsSet)
გამომავალი:
{'blue', 'red', 'green', 'yellow'}
colorsSet = {'red', 'green', 'blue'} colorsSet.update(['yellow', 'orange', 'white']) print(colorsSet)
გამომავალი:
{'white', 'red', 'green', 'yellow', 'orange', 'blue'}
ნივთის ერთობლიობიდან ამოღების ორი მეთოდი არსებობს: remove()
და discard()
.
remove()
მეთოდი ხსნის მითითებულ ნივთს. თუ ნივთი არ არსებობს, remove()
შეცდომას დააყენებს.
colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.remove('orange') print(colorsSet)
გამომავალი:
{'blue', 'green', 'red'}
discard()
მეთოდი ხსნის მითითებულ ნივთს. თუ ნივთი არ არსებობს, discard()
ნება არა შეცდომის წამოწევა.
ყველა ელემენტის ამოსაღებად და სიმრავლის დაცლისთვის ვიყენებთ clear()
მეთოდი:
colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.clear() print(colorsSet)
გამომავალი:
set()
კომპლექტის მთლიანად წასაშლელად გამოიყენეთ del
საკვანძო სიტყვა:
colorsSet = {'red', 'green', 'blue', 'orange'} del colorSet print(colorsSet)
გამომავალი:
Traceback (most recent call last): File 'pythonSet.py', line 78, in
del colorSet NameError: name 'colorSet' is not defined
მითითებული სიგრძის მიღება შეგიძლიათ დარეკოთ len()
მეთოდი, მაგალითად:
colorsSet = {'red', 'green', 'blue', 'orange'} print(len(colorsSet))
გამომავალი:
4
უმარტივესი გზა ორი სიმრავლის შესაერთებლად არის union()
მეთოდი, რომელიც აბრუნებს გაერთიანებულ სიმრავლეთაგან ნივთებს,
colorsSet = {'red', 'green', 'blue', 'orange'} numbersSet = {1, 2, 3, 4} numbersAndColors = colorsSet.union(numbersSet) print(numbersAndColors)
გამომავალი:
{1, 2, 'blue', 3, 4, 'green', 'red', 'orange'}