专栏地址:最强 Python3 基础
公众号:Python 生产力
文章目录
前言
集合(Set)是一种元素无序并且不可以重复的数据类型,这就代表着集合并不能像列表或元组一样使用数字下标来获取并修改其中的元素,这就有点像字典,一样是无序并且可变的,我们可以想象成一个集合中的一个元素相当于字典中一个键值对,只不过没有键与值的区分。
其实从集合的格式上来看,也跟字典很相像,元素都是用大括号括起来的。
set1 = {
'Python', 'Java', 'C++', 'Go', 'Ruby'}
set2 = {
'Python', 123, 25.3}
但是,这边要注意的是,创建空集合不能直接使用 大括号{} 来创建,而是需要使用 set() 方法创建,空的大括号创建的是一个字典而不是集合。从以下的例子可以看到,列表、元组、字符串等都可以用来创建集合,但是如果用空的大括号创建,类型就变为 字典‘dict’ 了,所以一定得记得,不能用空的 大括号{} 创建一个空的集合(Set)。
这边比较特别的是字典转为集合,会直接丢失字典值,而用字典的键来创建成集合。
a = set(['Python', 'Java', 'C++'])
b = set('abcdefg')
c = set(('123', 456, 78.2))
d = set({
'key1': 'Python', 'key2': 'Java'})
e = {
'Python', 'Java', 'C++'}
f = {
}
print(a, ', 类型: ', type(a))
print(b, ', 类型: ', type(b))
print(c, ', 类型: ', type(c))
print(d, ', 类型: ', type(d))
print(e, ', 类型: ', type(e))
print(f, ', 类型: ', type(f))
# 输出:
{
'Java', 'Python', 'C++'} , 类型: <class 'set'>
{
'e', 'g', 'f', 'c', 'a', 'd', 'b'} , 类型: <class 'set'>
{
456, 78.2, '123'} , 类型: <class 'set'>
{
'key2', 'key1'} , 类型: <class 'set'>
{
'Java', 'Python', 'C++'} , 类型: <class 'set'>
{
} , 类型: <class 'dict'>
一、集合操作
1. 查询
集合因为是无序并且不重复的,所