A set is an unordered collection of items. Every set element is unique (no duplicates) and must be immutable (cannot be changed).

However, a set itself is mutable. We can add or remove items from it.

Sets can also be used to perform mathematical set operations like union, intersection, symmetric difference, etc.

Characterstics:

  • Unordered
  • Mutable
  • No Duplicates
  • Can’t contain mutable data types

Creating Sets:

  1. Empty Set:
   s = set()
   print(s)
   print(type(s))

Explanation: This code creates an empty set s using the set() constructor and then prints the set and its type.

  1. 1D Set:
   s1 = {1, 2, 3}
   print(s1)

Explanation: This code creates a one-dimensional set s1 containing the elements 1, 2, and 3.

  1. 2D Set (Error):
   # This code will raise an error
   s2 = {1, 2, 3, {4, 5}}

Explanation: Sets cannot contain mutable items like other sets. The attempt to include a set {4, 5} within the outer set will result in a TypeError.

  1. Homo and Hetero Set:
   s3 = {1, 'hello', 4.5, (1, 2, 3)}
   print(s3)

Explanation: The set s3 contains elements of different data types, including an integer, a string, a float, and a tuple.

  1. Using Type Conversion:
   s4 = set([1, 2, 3])
   print(s4)

Explanation: This code converts a list [1, 2, 3] into a set s4 using the set() constructor.

  1. Duplicates Not Allowed:
   s5 = {1, 1, 2, 2, 3, 3}
   print(s5)

Explanation: Sets automatically remove duplicates, so the set s5 will only contain unique elements.

  1. Set Can’t Have Mutable Items (Error):
   # This code will raise an error
   s6 = {1, 2, [3, 4]}

Explanation: Sets cannot contain mutable items like lists. The attempt to include the list [3, 4] within the set will result in a TypeError.

  1. Set Equality:
   s1 = {1, 2, 3}
   s2 = {3, 2, 1}
   print(s1 == s2)

Explanation: Sets are unordered, so even if the elements are the same, the order does not matter. The comparison s1 == s2 evaluates to True.

Accessing Items in a Set:

s1 = {1, 2, 3, 4}
s1[0:3]

Explanation: The code attempts to use slicing ([0:3]) on the set s1. However, sets in Python do not support indexing or slicing because they are unordered collections of unique elements. If you need to access specific elements, you can iterate over the set or use methods like add and remove to manipulate the elements.

Editing Items in a Set:

s1 = {1, 2, 3, 4}
s1[0] = 100

Explanation: The code attempts to modify the first element of the set s1 by assigning the value 100 to s1[0]. However, sets in Python are unordered collections, and their elements cannot be accessed or modified using indexing. If you need to modify a set, you can use methods such as add to add new elements or remove to remove existing ones.

Adding Items to a Set:

S = {1, 2, 3, 4}

# Adding an Element
S.add(5)

print(S)

Explanation: In this code, the add method is used to add the element 5 to the set S. The resulting set is then printed, showing {1, 2, 3, 4, 5}. The add method is commonly used to insert a single element into a set.

Updating a Set using update:

S = {1, 2, 3, 4}

# Update with a List
S.update([5, 6, 7])

print(S)

Explanation: The update method is used to add elements from an iterable (in this case, a list [5, 6, 7]) to the set S. After the update, the set S will contain the additional elements, and the output will be {1, 2, 3, 4, 5, 6, 7}. The update method is commonly used to combine multiple sets or add elements from other iterable types to an existing set.

Deleting Items from a Set:

# Initial Set
s = {1, 2, 3, 4, 5}
print(s)

# Using del (Error)
# del s[0]  # This will raise an error since sets do not support indexing for deletion

# Using discard
s.discard(50)  # Discard method removes the specified element if present, without raising an error
print(s)

# Using remove (Error)
# s.remove(50)  # This will raise an error if the specified element is not present in the set

# Using pop
s.pop()  # Removes and returns an arbitrary element from the set
print(s)

# Using clear
s.clear()  # Removes all elements from the set, resulting in an empty set
print(s)

Explanation:

  • The code demonstrates different methods for deleting items from a set.
  • The del statement is not suitable for removing specific elements from sets because sets are unordered, and items do not have an index.
  • The discard method removes the specified element if it is present in the set. If the element is not present, it does nothing.
  • The remove method removes the specified element from the set. If the element is not present, it raises a KeyError.
  • The pop method removes and returns an arbitrary element from the set. Since sets are unordered, the popped element is not guaranteed to be the first or last element.
  • The clear method removes all elements from the set, resulting in an empty set.

Set Operations:

# Set Definitions
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}

# Union (|)
union_result = s1 | s2
print("Union:", union_result)

# Intersection (&)
intersection_result = s1 & s2
print("Intersection:", intersection_result)

# Difference (-)
difference_result_s1 = s1 - s2
difference_result_s2 = s2 - s1
print("Difference (s1 - s2):", difference_result_s1)
print("Difference (s2 - s1):", difference_result_s2)

# Symmetric Difference (^)
symmetric_difference_result = s1 ^ s2
print("Symmetric Difference:", symmetric_difference_result)

# Membership Test
element_membership = 1 not in s1
print("Membership Test (1 not in s1):", element_membership)

# Iteration
print("Iteration:")
for i in s1:
    print(i)

Explanation:

  • Union (|): Combines elements from both sets, resulting in a set containing all unique elements from both sets.
  • Intersection (&): Retrieves common elements present in both sets.
  • Difference (-): Returns a set containing elements that are unique to the first set (s1 - s2 returns elements in s1 but not in s2, and vice versa).
  • Symmetric Difference (^): Returns a set containing elements that are unique to each set, excluding common elements.
  • Membership Test: Checks if an element is not in the set (1 not in s1).
  • Iteration: Demonstrates how to iterate over the elements of a set using a for loop.

Set Functions:

# Set Definition
s = {3, 1, 4, 5, 2, 7}

# Length
length = len(s)
print("Length:", length)

# Sum
summation = sum(s)
print("Sum:", summation)

# Min
minimum = min(s)
print("Min:", minimum)

# Max
maximum = max(s)
print("Max:", maximum)

# Sorted
sorted_set = sorted(s, reverse=True)
print("Sorted (Reverse):", sorted_set)

# Union
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}
union_result = s1 | s2
print("Union:", union_result)

# Update
s1 = {1, 2, 3, 4, 5}
s1.update(s2)
print("Update:", s1)
print("Original s2:", s2)

# Intersection
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}
intersection_result = s1.intersection(s2)
print("Intersection:", intersection_result)

# Intersection Update
s1.intersection_update(s2)
print("Intersection Update:", s1)
print("Original s2:", s2)

# Difference
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}
difference_result = s1.difference(s2)
print("Difference:", difference_result)

# Difference Update
s1.difference_update(s2)
print("Difference Update:", s1)
print("Original s2:", s2)

# Symmetric Difference
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}
symmetric_difference_result = s1.symmetric_difference(s2)
print("Symmetric Difference:", symmetric_difference_result)

# Symmetric Difference Update
s1.symmetric_difference_update(s2)
print("Symmetric Difference Update:", s1)
print("Original s2:", s2)

# Is Disjoint
s1 = {1, 2, 3, 4}
s2 = {7, 8, 5, 6}
is_disjoint = s1.isdisjoint(s2)
print("Is Disjoint:", is_disjoint)

# Is Subset
s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5}
is_subset = s1.issuperset(s2)
print("Is Superset:", is_subset)

# Copy
s1 = {1, 2, 3}
s2 = s1.copy()
print("Original Set:", s1)
print("Copied Set:", s2)

Explanation:

  • The code demonstrates various set functions, including length, sum, min, max, sorted, union, update, intersection, intersection_update, difference, difference_update, symmetric_difference, symmetric_difference_update, isdisjoint, issuperset, and copy.
  • These functions provide a range of operations to manipulate and analyze sets in Python.

Frozenset

Frozen set is just an immutable version of a Python set object

Creating a Frozenset:

# Creating Frozensets
fs1 = frozenset([1, 2, 3])
fs2 = frozenset([3, 4, 5])

# Union of Frozensets
union_result = fs1 | fs2
print("Union of Frozensets:", union_result)

Explanation:

  • The code demonstrates the creation of two frozensets (fs1 and fs2) using the frozenset() constructor.
  • It then performs the union of the two frozensets using the | operator.

What Works and What Does Not:

  • Works (Read Functions): Frozensets support all read operations such as accessing elements, checking membership, and using functions like len, min, max, and sorted.
  • Doesn’t Work (Write Operations): Frozensets are immutable, so write operations like adding or removing elements are not supported.

When to Use Frozensets:

  • Use frozensets when you need an immutable, hashable set.
  • Frozensets are useful in situations where you want to create a set that should remain constant and cannot be modified after creation.
  • They are suitable for situations where you need a set as a key in a dictionary or an element in another set.

Example with 2D Frozensets:

# Creating a 2D Frozenset
fs = frozenset([1, 2, frozenset([3, 4])])
print("2D Frozenset:", fs)

Explanation:

  • The code creates a frozenset (fs) containing elements 1, 2, and another frozenset {3, 4}.
  • Frozensets can be nested, providing a way to represent more complex data structures immutably.

Set Comprehension:

Set comprehension is a concise way to create sets in Python using a single line of code. It follows the format {expression for item in iterable if condition}.

Example:

# Set Comprehension to create a set of squares of numbers greater than 5
squares_set = {i**2 for i in range(1, 11) if i > 5}
print(squares_set)

Explanation:

  • This set comprehension creates a set (squares_set) containing the squares of numbers in the range from 1 to 10, but only for numbers greater than 5.
  • The syntax {i**2 for i in range(1, 11) if i > 5} specifies the expression i**2 for each i in the range, but only if i is greater than 5.
  • The resulting set contains the squares of numbers 6 through 10: {36, 49, 64, 81, 100}.

271 Replies to “Sets in Python”

  1. https://kupit-kvartiruspb.ru в новостройках Санкт-Петербурга. Цены и фотографии квартир от застройщика в готовых и строящихся ЖК. Подбор жилья, ипотечные программы, сопровождение сделок и выгодные предложения.

  2. Драгон Мани Казино https://krpb.ru – ваше место для азартных приключений! Наслаждайтесь широким выбором игр, щедрыми бонусами и захватывающими турнирами. Безопасность и честная игра гарантированы. Присоединяйтесь к нам и испытайте удачу в самом захватывающем онлайн-казино!

  3. Famous French footballer Kylian Mbappe https://kylianmbappe.prostoprosport-ar.com has become a global ambassador for Dior. The athlete will represent the men’s collections of creative director Kim Jones and the Sauvage fragrance, writes WWD. Mbappe’s appointment follows on from the start of the fashion house’s collaboration with the Paris Saint-Germain football club. Previously, Jones created a uniform for the team where Kylian is a player.

  4. Скачать свежие новинки песен https://muzfo.net 2024 года ежедневно. Наслаждайтесь комфортным прослушиванием, скачивайте музыку за пару кликов на сайте.

  5. Агентство по продвижению телеграм-каналов https://883666b.com в Москве специализируется на разработке и реализации стратегий для увеличения аудитории и вовлечённости подписчиков на телеграм-каналах. Эксперты агентства помогают клиентам определить целевую аудиторию, разрабатывают контент-планы и рекламные кампании. Услуги включают рекламу посевами, таргет рекламой, анализ конкурентов, SEO-оптимизацию контента.

  6. The story of Mbappe’s https://asma-online.org rise to fame is as remarkable as his on-field feats. Mbappe’s journey from local pitches to global arenas was meteoric. His early days at AS Monaco showcased his prodigious talent, with his blistering speed and fearless dribbling dismantling opposition defenses.

  7. Информационный ресурс https://ardma.ru, посвящен бизнесу, финансам, инвестициям и криптовалютам. Сайт предлагает экспертные статьи, аналитические отчеты, стратегии и советы для предпринимателей и инвесторов. Здесь можно найти новости и обзоры о бизнесе, маркетинге, трейдинге, а также практические рекомендации по различным видам заработка и управлению финансами.

  8. Профессиональные seo https://seo-optimizaciya-kazan.ru услуги для максимизации онлайн-видимости вашего бизнеса. Наши эксперты проведут глубокий анализ сайта, оптимизируют контент и структуру, улучшат технические аспекты и разработают индивидуальные стратегии продвижения.

  9. Хотите сделать в квартире ремонт? Тогда советуем вам посетить сайт https://stroyka-gid.ru, где вы найдете всю необходимую информацию по строительству и ремонту.

  10. Pin-up Casino https://pin-up.admsov.ru/ is an online casino licensed and regulated by the government of Curacao . Founded in 2016, it is home to some of the industry’s leading providers, including NetEnt, Microgaming, Play’n GO and others. This means that you will be spoiled for choice when it comes to choosing a game.

  11. Реальные анкеты проституток https://prostitutki-213.ru Москвы с проверенными фото – от элитных путан до дешевых шлюх. Каталог всех индивидуалок на каждой станции метро с реальными фотографиями без ретуши и с отзывами реальных клиентов.

  12. Смотрите онлайн сериал Отчаянные домохозяйки https://domohozyayki-serial.ru в хорошем качестве HD 720 бесплатно, рейтинг сериала: 8.058, режиссер сериала: Дэвид Гроссман, Ларри Шоу, Дэвид Уоррен.

  13. Изготовление памятников и надгробий https://uralmegalit.ru по низким ценам. Собственное производство. Высокое качество, широкий ассортимент, скидки, установка.

  14. Pin Up Casino https://pin-up.ergojournal.ru приглашает игроков зарегистрироваться на официальном сайте и начать играть на деньги в лучшие игровые автоматы, а на зеркалах онлайн казино Пин Ап можно найти аналогичную витрину слотов

  15. Pin-up casino https://pin-up.jes-design.ru популярное онлайн-казино и ставки на спорт. Официальный сайт казино для доступа к играм и другим функциям казино для игры на деньги.

  16. Gianluigi Buffon https://buffon.com.az Italian football player, goalkeeper. Considered one of the best goalkeepers of all time. He holds the record for the number of games in the Italian Championship, as well as the number of minutes in this tournament without conceding a goal.

  17. Thibaut Nicolas Marc Courtois https://thibaut-courtois.real-madrid-ar.com Footballeur belge, gardien de but du Club espagnol “Real Madrid”. Lors de la saison 2010/11, il a ete reconnu comme le meilleur gardien de la Pro League belge, ainsi que comme joueur de l’annee pour Genk. Trois fois vainqueur du Trophee Ricardo Zamora, decerne chaque annee au meilleur gardien espagnol

  18. Видеопродакшн студия https://humanvideo.ru полного цикла. Современное оборудование продакшн-компании позволяет снимать видеоролики, фильмы и клипы высокого качества. Создание эффективных видеороликов для рекламы, мероприятий, видеоролики для бизнеса.

  19. Заказать вывоз мусора заказать вывоз мусора в Москве и Московской области, недорого и в любое время суток в мешках или контейнерами 8 м?, 20 м?, 27 м?, 38 м?, собственный автопарк. Заключаем договора на вывоз мусора.

  20. Реальные анкеты https://prostitutki-vyzvat-moskva.ru Москвы с проверенными фото – от элитных путан до дешевых шлюх. Каталог всех индивидуалок на каждой станции метро с реальными фотографиями без ретуши и с отзывами реальных клиентов.

  21. Совсем недавно открылся новый интернет портал BlackSprut (Блекспрут) https://bs2cite.cc в даркнете, который предлагает купить нелегальные товары и заказать запрещенные услуги. Самая крупнейшая площадка СНГ. Любимые шопы и отзывчивая поддержка.

  22. Монтаж систем отопления https://fectum.pro, водоснабжения, вентиляции, канализации, очистки воды, пылеудаления, снеготаяния, гелиосистем в Краснодаре под ключ.

  23. Game World https://kz-games.kz offers the latest online gaming news, game reviews, gameplay and ideas, gaming tactics and tips . Start playing our most popular and amazing games and get ready to become the leader in the online gaming world!

  24. Доставка груза и грузоперевозки https://tamozhennyy-deklarant.blogspot.com по России через транспортную компанию автотранспортом доступна и для частных лиц. Перевозчик отправит или доставит ваш груз: выгодные тарифы индивидуальный подход из рук в руки 1 машиной.

  25. Предлагаем купить гаражное оборудование https://profcomplex.pro, автохимию, технику и уборочный инвентарь для клининговых компаний. Доставка по Москве и другим городам России.

  26. Купить зеркала https://zerkala-m.ru по низким ценам. Более 1980 моделей, купить недорого в интернет-магазине в Москве с доставкой по России. Удобный каталог, низкие цены, качественные фото.

  27. Интернет магазин электроники https://techno-line.store и цифровой техники по доступным ценам. Доставка мобильной электроники по Москве и Московской области.

  28. Промышленные насосы https://1nsk.ru/news/articles/nasosy-spetsialnogo-naznacheniya.html Wilo предлагают широкий ассортимент решений для различных отраслей промышленности, включая водоснабжение, отопление, вентиляцию, кондиционирование и многие другие. Благодаря своей высокой производительности и эффективности, насосы Wilo помогают снизить расходы на энергию и обслуживание, что делает их идеальным выбором для вашего бизнеса.

  29. Официальный сайт онлайн-казино Vavada https://vavada-kz-game.kz это новый адрес лучших слотов и джекпотов. Ознакомьтесь с бонусами и играйте на реальные деньги из Казахстана.

  30. [u][b] Здравствуйте![/b][/u]
    Приобрести диплом о высшем образовании.
    Наш сервис предлагает приобрести диплом в высочайшем качестве, неотличимый от оригинального документа без участия специалистов высокой квалификации с дорогим оборудованием.
    [b]Где приобрести диплом по необходимой специальности?[/b]
    https://vip.9bb.ru/viewtopic.php?id=5959#p9901
    [b]Успехов в учебе![/b]

  31. [u][b] Привет![/b][/u]
    Мы изготавливаем дипломы любых профессий по приятным ценам.
    Мы готовы предложить документы техникумов, расположенных в любом регионе РФ. Вы сможете купить диплом за любой год, в том числе документы СССР. Дипломы и аттестаты выпускаются на “правильной” бумаге высшего качества. Это позволяет делать настоящие дипломы, не отличимые от оригиналов. Они заверяются необходимыми печатями и штампами.
    Даем гарантию, что в случае проверки документа работодателями, никаких подозрений не возникнет.
    [b]Где купить диплом по необходимой специальности?[/b]
    [url=http://sportraketka.ru/kupit-diplom-vasha-garantiya-uspeshnogo-budushhego-i-professionalnogo-rosta]telugusaahityam.com/????????_???_??????_???????:_??????,_???????,_???????????![/url]

  32. [u][b] Здравствуйте![/b][/u]
    Приобрести диплом о высшем образовании
    [b]Наши специалисты предлагают[/b] быстро и выгодно купить диплом, который выполняется на бланке ГОЗНАКа и заверен печатями, водяными знаками, подписями. Наш документ способен пройти лубую проверку, даже с использованием профессиональных приборов. Решайте свои задачи быстро и просто с нашим сервисом.
    [b]Где заказать диплом специалиста?[/b]
    http://caribbeantown.listbb.ru/viewtopic.php?f=5&t=502
    [u][b] Поможем вам всегда![u][b].

  33. Хотите научиться готовить самые изысканные и сложные торты? В этом https://v1.skladchik.org/tags/tort/ разделе вы найдете множество подробных пошаговых рецептов самых трендовых и известных тортов с возможностью получить их за сущие копейки благодаря складчине. Готовьте с удовольствием и открывайте для себя новые рецепты вместе с Skladchik.org

  34. Здравствуйте!
    Задумался а действительно можно купить диплом государственного образца в Москве, и был удивлен, все реально и главное официально!
    Сначала серфил в сети и искал такие темы как: купить диплом в пятигорске, купить диплом архитектора, где купить диплом о среднем образование, купить диплом в бугульме, купить диплом с реестром, получил базовую информацию.
    Остановился в итоге на материале купить диплом специалиста, http://bajajrussia.club/viewtopic.php?f=33&t=84270&p=118113#p118113
    Хорошей учебы!

Leave a Reply

Your email address will not be published. Required fields are marked *