一 、定义
集合(set)和python内置函数字典(dict)一样,都是由哈希表演变而来的;但是set与dict不同的是,set没有value,只有key,而dict既有value也有key;因此集合保留了key的特点,即无重复性。故集合(set)是一个无序的不重复元素序列。
二 、运用
接下来说一下set()函数的简单运用
1、集合(set)的创建
set()函数可以使用set()或者{}创建,但是如果想要创建空集合,就只能使用set()创建,如果使用{}创建出来的是空字典。
下面分别以set()和{}为例创建集合:
a=set() # 创建空集合
print(type(a)) # 返回变量类型
b = {'people', 'dog', 'cat'} # 用{}创建集合
print(b)
输出结果:
<class 'set'>
{'dog', 'people', 'cat'}
2、添加元素
set()函数使用add()和update()来添加元素,如果添加的元素在集合中已经存在,则不会执行任何操作,因为集合(set)具有无重复性。
下面给出add()代码示例:
a = set()
a.add('happy')
b = {'people', 'dog', 'cat'}
b.add('dog') # 重复的会被删掉
print(a)
print(b)
输出结果:
{'happy'}
{'cat', 'people', 'dog'}
update()顾名思义,是更新的意思,因此update()常常用来合并两个集合,去除重复值,成为一个新的集合;当然,update()也可以用来修改集合,添加数据,和add()用法类似。
下面给出update()代码示例:
x = {'people', 'dog', 'cat'}
y = {'cow', 'sheep', 'cat'}
x.update(y) # 合并两个集合,相同的元素只保留一个
b = {'people', 'dog', 'cat'}
c = {'people', 'dog', 'cat'}
b.update({'cow'}) # 注意用update()添加元素的话必须用{}括起来
c.update('cow') # 和上面对比可以发现,如果没有用{}括起来会被单个取出并随机放入集合
print(x)
print(b)
print(c)
输出结果:
{'cat', 'dog', 'people', 'sheep', 'cow'}
{'dog', 'people', 'cat', 'cow'}
{'cat', 'o', 'dog', 'c', 'people', 'w'}
3、移除元素
1、remove()方法
remove()方法用于移除集合中的指定元素。
代码示例:
x = {'people', 'dog', 'cat'}
x.remove('people')
print(x)
输出结果:
{'cat', 'dog'}
2、discard()方法
discard()方法也是用于移除集合中的指定元素。但是与remove()方法不同的是,discard()方法不会对指定移除集合中没有的元素报错,但是remove()方法会报错。
代码示例:
x = {'people', 'dog', 'cat'}
x.discard('dog')
x.discard('d') # 这里指定了一个集合x中没有的元素,但是没有报错
print(x)
输出结果:
{'people', 'cat'}
3、pop()方法
pop()方法用于随机移除集合中的一个元素。
代码示例:
x = {'people', 'dog', 'cat','cow'}
x.pop()
print(x)
输出结果:
{'cow', 'people', 'dog'}
4、清空集合 clear()
clear()方法用于移除集合中的所有元素
代码示例:
x = {'people', 'dog', 'cat','cow'}
x.clear()
print(x)
输出结果:
set()