集合(python)

集合的特性:

集合是无序的,集合中的元素是唯一的,不允许重复。

  1. 集合的定义

定义集合变量:

变量名称 = {元素1,元素2,......,元素n}

定义空集合:

变量名称 = set()

set_name = {"python",666,6.66}
print(set_name)
set_name1 = set()
print(set_name1)


'''
结果为:
{666, 'python', 6.66}
set()
'''
  1. 集合的修改

因为集合是无序的,所以不支持下标索引访问

  1. 添加新元素

语法:集合.add(元素)

将指定元素添加到集合中

注意:和list不同,添加时,集合本身被修改,添加了新元素。

set_name = {"python",666,6.66}
print(f"修改前:{set_name}")
set_name.add("c");
print(f"修改后:{set_name}")
#尝试添加重复元素
set_name.add("python")
print(f"添加重复元素后:{set_name}")
#因为集合中不允许有重复元素,所以添加失败

'''
运行结果:
修改前:{'python', 666, 6.66}
修改后:{'c', 'python', 666, 6.66}
添加重复元素后:{'c', 'python', 666, 6.66}


'''
  1. 移除元素

语法:集合.remove(元素)

将指定元素从集合中移除,集合本身被修改

set_name = {"python",666,6.66}
print(f"移除元素前:{set_name}")
#移除元素666
set_name.remove(666)
print(f"移除元素后:{set_name}")

'''
运行结果:
移除元素前:{'python', 6.66, 666}
移除元素后:{'python', 6.66}

'''
  1. 取出元素

语法:集合.pop()

从集合中随机取出元素

注意:返回取出的元素,原本集合也被改变

set_name = {"python",666,6.66}
print(f"取出元素前:{set_name}")
#随机取出一个元素
pop = set_name.pop()
print(f"被取出的元素:{pop}")
print(f"取出元素后:{set_name}")

'''
运行结果:
取出元素前:{'python', 6.66, 666}
被取出的元素:python
取出元素后:{6.66, 666}
'''
  1. 清空集合

语法:集合.clear()

清空集合,集合本身被清空

set_name = {"python",666,6.66}
print(f"清空集合前:{set_name}")
#清空集合
set_name.clear()
print(f"清空集合后:{set_name}")

'''
运行结果:
清空集合前:{666, 'python', 6.66}
清空集合后:set()
'''
  1. 取差集

语法:集合.difference(集合2)

取出集合1和集合2的差集,集合1有而集合2没有的

得到一个新的集合,集合1和集合2不变

set1 = {1,2,3,4,5,6}
set2 = {2,4,6,8,10,12}
print(f"取差集前set1:{set1},      set2:{set2}")
#取差集
set3 = set1.difference(set2)
print(f"差集set3为:{set3}")
print(f"取差集后set1:{set1},      set2:{set2}")

'''
运行结果为:
取差集前set1:{1, 2, 3, 4, 5, 6},      set2:{2, 4, 6, 8, 10, 12}
差集set3为:{1, 3, 5}
取差集后set1:{1, 2, 3, 4, 5, 6},      set2:{2, 4, 6, 8, 10, 12}
'''
  1. 消除差集

语法:集合.difference_update(集合2)

消除2个集合的差集,对比集合1和集合2,在集合1内,删除和集合2相同的元素。

集合1被修改,集合2不变

set1 = {1,2,3,4,5,6}
set2 = {2,4,6,8,10,12}
print(f"消除前set1:{set1},      set2:{set2}")
#消除差集
set1.difference_update(set2)
print(f"消除后set1:{set1},      set2:{set2}")

'''
运行结果为:
消除前set1:{1, 2, 3, 4, 5, 6},      set2:{2, 4, 6, 8, 10, 12}
消除后set1:{1, 3, 5},      set2:{2, 4, 6, 8, 10, 12}
'''
  1. 集合的合并

语法:集合.union(集合2)

将集合1和集合2组成新集合

得到新集合,集合1和集合2不变

set1 = {1,2,3,4,5,6}
set2 = {2,4,6,8,10,12}
print(f"合并前set1:{set1},      set2:{set2}")
#集合的合并
set3 = set1.union(set2)
print(f"合并完的集合set3为:{set3}")
print(f"合并后set1:{set1},      set2:{set2}")

'''
运行结果为:
合并前set1:{1, 2, 3, 4, 5, 6},      set2:{2, 4, 6, 8, 10, 12}
合并完的集合set3为:{1, 2, 3, 4, 5, 6, 8, 10, 12}
合并后set1:{1, 2, 3, 4, 5, 6},      set2:{2, 4, 6, 8, 10, 12}
'''
  1. 统计集合的元素数量

语法:len(集合)

统计集合中元素的数量

set1 = {1,2,3,4,5,6}
#统计集合中元素的数量
num = len(set1)
print(f"集合set1中元素的数量为:{num}")

'''
运行结果为:
集合set1中元素的数量为:6
'''
  1. 集合的遍历

集合不支持下标索引,所以不能用while循环遍历

可以用for循环遍历

set1 = {1,2,3,4,5,6}
#遍历集合
for set in set1:
    print(set)

'''
运行结果为:
1
2
3
4
5
6
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Python 中 set 集合的相关语法: 1. 创建集合:使用大括号 {} 或 set() 函数来创建集合,如 `aset = {1, 2, 3}` 或 `aset = set([1, 2, 3])`。 2. 集合元素:集合中的元素必须是不可变的,如数字、字符串或元组等。集合中的元素是无序的,不重复的。 3. 访问集合:由于集合是无序的,因此不能通过索引来访问集合中的元素。可以使用 for 循环或 in 运算符来遍历集合中的元素。 4. 修改集合:可以使用 add()、update()、discard() 或 remove() 等方法来修改集合中的元素。其中,add() 方法用于向集合中添加单个元素,update() 方法用于向集合中添加多个元素,discard() 方法用于删除集合中的指定元素,remove() 方法也用于删除集合中的指定元素,但如果指定元素不存在,则会引发 KeyError 异常。 5. 集合运算:可以使用 &、|、-、^ 等运算符来进行集合的交、并、差、对称差等运算。 6. 集合方法:还可以使用其他的集合方法来进行元素的添加、删除、查找、比较等操作,如 issubset()、issuperset()、intersection()、union()、difference() 等。 需要注意的是,集合Python 中的一种无序、不重复的集合类型,可以用于去重、成员关系测试、集合运算等操作。集合的元素必须是不可变的,如数字、字符串或元组等。集合的操作具有确定性和无状态性,即对于同一集合和相同的操作,每次操作的结果都是相同的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值