1. Жиындар ұғымы
2. Жиындармен операциялар
Жиындар (set) элементтер жиынын көрсетеді. Жиындарды анықтау үшін ішінде элементтері тізбектелген жүйелі жақша қолданылады.
users = {"Tom","Bob","Alice", "Tom"} print(users) # {"Tom","Bob","Alice"} |
Мұнда print функциясы Tom элементін бір рет қана шығарды, себебі жиын тек қайталанбайтын уникалды мәндерден тұрады.
Жиындарды анықтау үшін set() функциясы да қолданылады, онда элементтердің тізімі не кортежі беріледі:
|
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() әдісін де қолдануға болады, егер эойылатын элемент жиында жоқ болса, бұл әдіс ерекше жағдай тудырмайды.
user = "Tim" users.discard(user) |
Барлық элементтерді жою үшін clear() әдісі қолданылады.
users.clear() |
Жиындарға қолданылатын операциялар
copy() әдісінің көмегімен бір жиынның мазмұнын екіншісіне көшіруге болады:
users = {"Tom","Bob","Alice"} users3 = users.copy() |
union() әдісі екі жиынды біріктіріп, жаңа жиын қайтарады:
users = {"Tom","Bob","Alice"} users2 = {"Sam","Kate", "Bob"}
users3 = users.union(users2) print(users3) # {"Bob", "Alice", "Sam", "Kate", "Tom"} |
Жиындардың қиылысуы екі жиында да бар элементтерді алуға мүмкіндік береді. intersection() әдісі жиындар қиылысуы операциясын орындап, нәтижесінде жаңа жиын қайтарады.
users = {"Tom","Bob","Alice"} users2 = {"Sam","Kate", "Bob"}
users3 = users.intersection(users2) print(users3) # {"Bob"} |
intersection әдісінің орнына логикалық көбейту операциясын да қолдануға болар еді.
users = {"Tom","Bob","Alice"} users2 = {"Sam","Kate", "Bob"}
print(users & users2) # {"Bob"} |
Тағы бір операция жиындар айырымы - бірінші жиында бар, бірақ екінші жиында жоқ элементтерді қайтарады. Жиындар айырымын алу үшін difference әдісін немесе азайту операциясын орындауға болады:
users = {"Tom","Bob","Alice"} users2 = {"Sam","Kate", "Bob"}
users3 = users.difference(users2) print(users3) # {"Tom", "Alice"} print(users - users2) # {"Tom", "Alice"} |