In [1]:
s = {1, 2, 2, 3, 1, 4}

print(s)
print(type(s))


{1, 2, 3, 4}
<class 'set'>

In [2]:
s = {1.23, '百', (0, 1, 2), '百'}

print(s)


{(0, 1, 2), 1.23, '百'}

In [3]:
# s = {[0, 1, 2]}
# TypeError: unhashable type: 'list'

In [4]:
s = {100, 100.0}

print(s)


{100}

In [5]:
s = {}

print(s)
print(type(s))


{}
<class 'dict'>

In [6]:
l = [1, 2, 2, 3, 1, 4]

print(l)
print(type(l))


[1, 2, 2, 3, 1, 4]
<class 'list'>

In [7]:
s_l = set(l)

print(s_l)
print(type(s_l))


{1, 2, 3, 4}
<class 'set'>

In [8]:
fs_l = frozenset(l)

print(fs_l)
print(type(fs_l))


frozenset({1, 2, 3, 4})
<class 'frozenset'>

In [9]:
s = set()

print(s)
print(type(s))


set()
<class 'set'>

In [10]:
l = [2, 2, 3, 1, 3, 4]

l_unique = list(set(l))
print(l_unique)


[1, 2, 3, 4]

In [11]:
s = {i**2 for i in range(5)}

print(s)


{0, 1, 4, 9, 16}

In [12]:
s = {1, 2, 2, 3, 1, 4}

print(s)
print(len(s))


{1, 2, 3, 4}
4

In [13]:
s = {0, 1, 2}

s.add(3)
print(s)


{0, 1, 2, 3}

In [14]:
s = {0, 1, 2}

s.discard(1)
print(s)


{0, 2}

In [15]:
s = {0, 1, 2}

s.discard(10)
print(s)


{0, 1, 2}

In [16]:
s = {0, 1, 2}

s.remove(1)
print(s)


{0, 2}

In [17]:
# s = {0, 1, 2}

# s.remove(10)
# KeyError: 10

In [18]:
s = {2, 1, 0}

v = s.pop()

print(s)
print(v)


{1, 2}
0

In [19]:
s = {2, 1, 0}

print(s.pop())


0

In [20]:
print(s.pop())


1

In [21]:
print(s.pop())


2

In [22]:
# print(s.pop())
# KeyError: 'pop from an empty set'

In [23]:
s = {0, 1, 2}

s.clear()
print(s)


set()

In [24]:
s1 = {0, 1, 2}
s2 = {1, 2, 3}
s3 = {2, 3, 4}

In [25]:
s_union = s1 | s2
print(s_union)


{0, 1, 2, 3}

In [26]:
s_union = s1.union(s2)
print(s_union)


{0, 1, 2, 3}

In [27]:
s_union = s1.union(s2, s3)
print(s_union)


{0, 1, 2, 3, 4}

In [28]:
s_union = s1.union(s2, [5, 6, 5, 7, 5])
print(s_union)


{0, 1, 2, 3, 5, 6, 7}

In [29]:
s_intersection = s1 & s2
print(s_intersection)


{1, 2}

In [30]:
s_intersection = s1.intersection(s2)
print(s_intersection)


{1, 2}

In [31]:
s_intersection = s1.intersection(s2, s3)
print(s_intersection)


{2}

In [32]:
s_difference = s1 - s2
print(s_difference)


{0}

In [33]:
s_difference = s1.difference(s2)
print(s_difference)


{0}

In [34]:
s_difference = s1.difference(s2, s3)
print(s_difference)


{0}

In [35]:
s_symmetric_difference = s1 ^ s2
print(s_symmetric_difference)


{0, 3}

In [36]:
s_symmetric_difference = s1.symmetric_difference(s2)
print(s_symmetric_difference)


{0, 3}

In [37]:
s1 = {0, 1}
s2 = {0, 1, 2, 3}

In [38]:
print(s1 <= s2)


True

In [39]:
print(s1.issubset(s2))


True

In [40]:
print(s1 <= s1)


True

In [41]:
print(s1.issubset(s1))


True

In [42]:
print(s1 < s1)


False

In [43]:
s1 = {0, 1}
s2 = {0, 1, 2, 3}

In [44]:
print(s2 >= s1)


True

In [45]:
print(s2.issuperset(s1))


True

In [46]:
print(s1 >= s1)


True

In [47]:
print(s1.issuperset(s1))


True

In [48]:
print(s1 > s1)


False

In [49]:
s1 = {0, 1}
s2 = {1, 2}
s3 = {2, 3}

In [50]:
print(s1.isdisjoint(s2))


False

In [51]:
print(s1.isdisjoint(s3))


True