【Python基础】集合(4036字)

因上努力

个人主页:丷从心·

系列专栏:Python基础

学习指南:Python学习指南

果上随缘


什么是集合

  • 如下定义的变量last_names的数据类型是集合
last_names = {'赵', '钱', '孙', '李', '周', '吴'}

print(last_names)
{'李', '钱', '赵', '孙', '周', '吴'}
  • 通过type()函数可以查看变量last_names的数据类型
last_names = {'赵', '钱', '孙', '李', '周', '吴'}

print(type(last_names))
<class 'set'>

集合的特点

元素不重复性
  • 集合中的元素不重复
示例
number_set = {1, 1, 2, 2, 3, 3}

print(number_set)
{1, 2, 3}
  • 可以看到,集合会自动将重复的元素进行去重
无序性
  • 集合中的元素是无序的
示例
last_names = {'赵', '钱', '孙', '李', '周', '吴'}

print(last_names)
{'钱', '周', '孙', '李', '赵', '吴'}
  • 可以看到,在定义集合时元素按照百家姓的顺序,在打印时元素是无序的
  • 由于集合具有无序性,集合没有索引和切片的概念,在遍历时只能使用for循环进行遍历

集合操作

增加元素
add()方法
set_object.add(element)
  • add()方法用于向集合中增加元素,如果集合中已经存在该元素的值,集合会自动进行去重
number_set = {1, 2, 3}

number_set.add(4)
print(number_set)

number_set.add(1)
print(number_set)
{1, 2, 3, 4}
{1, 2, 3, 4}
删除元素
clear()方法
set_object.clear()
  • clear()方法用于删除集合中的所有元素
number_set = {1, 2, 3}

number_set.clear()

print(number_set)
set()
pop()方法
set_object.pop()
  • pop()方法用于随机删除集合中的一个元素,返回值为被删除的元素
number_set = {1, 2, 3}

popped_element = number_set.pop()

print(popped_element)
print(number_set)
1
{2, 3}
remove()方法
set_object.remove(element)
  • remove()方法用于删除集合指定元素值的元素
number_set = {1, 2, 3}

number_set.remove(1)

print(number_set)
{2, 3}
交集
intersection()方法
set_object.intersection(set_obj)
  • intersection()方法用于返回两个集合的交集
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

intersection_set = number_set_1.intersection(number_set_2)

print(intersection_set)
{2, 3}
&符号
  • 交集也可以通过&符号实现
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

intersection_set = number_set_1 & number_set_2

print(intersection_set)
{2, 3}
isdisjoint()方法
set_object.isdisjoint(set_obj)
  • isdisjoint()方法用于判断两个集合是否不相交,是则返回True,否则返回False
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

print(number_set_1.isdisjoint(number_set_2))

number_set_1 = {1, 2, 3}
number_set_2 = {4, 5, 6}

print(number_set_1.isdisjoint(number_set_2))
False
True
并集
union()方法
set_object.union(set_obj)
  • union()方法用于返回两个集合的并集
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

union_set = number_set_1.union(number_set_2)

print(union_set)
{1, 2, 3, 4}
|符号
  • 并集也可通过|符号实现
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

union_set = number_set_1 | number_set_2

print(union_set)
{1, 2, 3, 4}
差集
difference()方法
set_object.difference(set_obj)
  • difference()方法用于返回两个集合的差集
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

difference_set = number_set_1.difference(number_set_2)

print(difference_set)
{1}
-符号
  • 差集也可通过-符号实现
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

difference_set = number_set_1 - number_set_2

print(difference_set)
{1}
对称差集
symmetric_difference()方法
set_object.symmetric_difference(set_obj)
  • symmetric_difference()方法用于返回两个集合的对称差集
number_set_1 = {1, 2, 3}
number_set_2 = {2, 3, 4}

symmetric_difference_set = number_set_1.symmetric_difference(number_set_2)

print(symmetric_difference_set)
{1, 4}
子集
issubset()方法
set_object.issubset(set_obj)
  • issubset()方法用于判断当前集合是否是参数集合的子集,是则返回True,否则返回False
number_set_1 = {1, 2}
number_set_2 = {1, 2, 3}

print(number_set_1.issubset(number_set_2))
True
issuperset()方法
set_object.issuperset(set_obj)
  • issuperset()方法用于判断参数集合是否是当前集合的子集,是则返回True,否则返回False
number_set_1 = {1, 2, 3}
number_set_2 = {1, 2}

print(number_set_1.issuperset(number_set_2))
True

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值