集合是一个无序不重复元素的集合。集合中元素包含在花括号中,例如{'a',1,'tom',"xy"}

创建集合:

例子1

# set1 = {'a',1,'tom',"xy"}

set1 = set()

set2 = set([])

set3 = set({})

# 虽然集合用{}包含集合的元素,但是{}创建出的确实字典,而非集合

set4 = {}



print(type(set1))

print(set1)

print(type(set2))

print(set2)

print(type(set3))

print(set3)

print(type(set4))

print(set4)

 

结果:

<class 'set'>

set()

<class 'set'>

set()

<class 'set'>

set()

<class 'dict'>

{}

 

例子2:

set1 = {'a',1,'tom',"xy"}

set2 = set([1,2,3,4])

set3 = set({'a':2,'b':3,'c':4})



print(set1)

print(set2)

print(set3)

结果:

{'xy', 'a', 'tom', 1}

{1, 2, 3, 4}

{'a', 'c', 'b'}


注:字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。

集合添加元素

集合的添加有两种方式,分别是add和update。但是它们在添加元素时是由区别的:

add()方法把要传入的元素作为一个整体添加到集合中。

update()方法是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。可以一次添加多个值

例子1:

set1 = {'a',1,'tom',"xy"}

print(set1)

set1.add('jack')

print(set1)

set1.update('bde')

print(set1)

结果:

{'xy', 'a', 'tom', 1}

{'jack', 1, 'a', 'tom', 'xy'}

{'jack', 1, 'd', 'e', 'b', 'a', 'tom', 'xy'}

 

不可以用add方法往集合中添加set

例子2:

set1 = {'a','b'}

set2 = {'c','de'}

print(set1)

set1.add(set2)

print(set1)

 

结果:

{'a', 'b'}

Traceback (most recent call last):

  File "D:\pythonProject\test\test20240123.py", line 4, in <module>

    set1.add(set2)

TypeError: unhashable type: 'set'

 

不可以用add方法往集合中添加list

例子3:

set1 = {'a','b'}

list1 = ['c','de']



set1.add(list1)

print(set1)

 

结果:

Traceback (most recent call last):

  File "D:\pythonProject\test\test20240123.py", line 4, in <module>

    set1.add(list1)

TypeError: unhashable type: 'list'

 

但是,用add方法往集合中添加tuple

例子4:

set1 = {'a','b'}

tuple1 = ('c','de')



set1.add(tuple1)

print(set1)
结果:
{'b', ('c', 'de'), 'a'}