集合是一个无序不重复元素的集合。集合中元素包含在花括号中,例如{'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'}