集合set,是无序的、不重复的,不能进行索引和切片,但是非常适用于逻辑运算。
一、set创建
set可以直接创建,也可以通过列表、字符串、字典等转换。
s = set('gieerl') print(s) #{'g', 'e', 'i', 'l', 'r'} s = set(['df',3,3,'df']) print(s) #{3, 'df'} li = ['df',3,3,'df'] s = set(li) print(s) #{3, 'df'} d = {'1':'d','1':'d','2':'d'} s = set(d.items()) print(s) #{('2', 'd'), ('1', 'd')}
二、set添加元素
set.add(values) 将values作为一个整体添加
set.update(values) 将values的每一个元素分别添加
s = set('gieerl') print(s) #{'g', 'e', 'i', 'l', 'r'} s.add('boy') print(s) #{'boy', 'e', 'r', 'g', 'l', 'i'} s.update('boy') print(s) #{'b', 'g', 'r', 'l', 'y', 'o', 'boy', 'i', 'e'}
三、set删除元素
set.remove(values) 删除set中的values,values不存在时报错。
set.clear() 删除set中的全部元素,set()保留。
s = set('gieerl') print(s) #{'g', 'e', 'i', 'l', 'r'} s.remove('e') print(s) #{'r', 'g', 'i', 'l'} # s.remove('a') # print(s) #{'r', 'g', 'i', 'l'} #报错 s.clear() print(s) #set()
四、set元素逻辑运算
set集合进行与、或、差等运算非常方便。
s1 = set('abcd') print('s1:{}'.format(s1)) #s1:{'c', 'd', 'b', 'a'} s2 = set('cdef') print('s2:{}'.format(s2)) #s2:{'c', 'd', 'e', 'f'} # & 与 print('s1&s2:{}'.format(s1&s2)) #s1&s2:{'c', 'd'} # |或 print('s1|s2:{}'.format(s1|s2)) #s1|s2:{'c', 'b', 'e', 'f', 'd', 'a'} # -差 print('s1-s2:{}'.format(s1-s2)) #s1-s2:{'b', 'a'} print('s2-s1:{}'.format(s2-s1)) #s2-s1:{'e', 'f'}
浙公网安备 33010602011771号