Python基础学习笔记——集合

集合

  • Python中集合(set)类型同数学中的集合概念一致,即包含0个或多个数据项的无序组合,集合没有索引和位置的概念
可变结合:set(iterable)
  • set()函数用于集合的生成,返回结果是一个无重复且排序任意的集合。
  • set的()中要么放可迭代的对象,表示转换成集合类型;要么什么都不放,表示生成空集合。
  • 定义:集合也是一个容器类型,可以存放多个数据,集合的最外层表现形式是一对大括号{}
# 定义有元素的集合
myset = {1, 3, 5}
# 创建空集合
myset = set()
# 注意直接 xx = {} 定义的是空字典,不是空集合
特点:
  1. 无序
  2. 不重复
  3. 可变类型
  • 功能:关系测试和消除重复元素
  • 扩展:list、set、tuple之间可以相互转换,转到set时会去重
  • 发现:如果集合都是数字的话,好像默认会把数字从小到大排序!
  • 加元素set.add(value)
  • 除元素set.remove(value)
    注意:不能根据下标获取数据和不能根据下标修改数据,因为集合是无序的,不能确定集合中的数据,所以不能通过下标修改。
my_set = {1, 3, 5, 0}

# 1. 通过打印集合可以得知,集合是无序的
print(my_set)  # {0, 1, 3, 5} 

# 2. 不能有重复数据,重复数据只保留一个
# 给集合添加数据
my_set.add(4)
my_set.add(5)
print(my_set)  # {0, 1, 3, 4, 5}

# 3. 集合是可变类型,可以在原有内存空间的基础上修改数据,内存地址不变
print(my_set, type(my_set), id(my_set))

# 删除集合数据
my_set.remove(3)

# 可以使用for循环获取集合中的每一个数据
for value in my_set:
    print(value)
    
# 查询、更改的错误演示
# result = my_set[0]
# print(result)
# my_set[1] = 9
# print(my_set)
不可变集合:frozenset(iterable)

特点:冻结的集合,不可变

集合的运算
集合操作含义
s - t 或 s.difference(t)返回集合在集合s中,但不在t中的元素
s&t 或 s.intersection(t)返回同时在集合s和t中的元素
s|t 或 s.union(t)返回集合s和t中的所有元素
s^t 或 s.symmetric_difference(t)返回集合s和t中的元素,但不包括同时在其中的元素

在这里插入图片描述

错题
  1. 下列选项中,哪个是集合:( B )
    A: set([1,3,5,[6]])
    B:{1,3,5,(6)}
    C: 以上都不是
    D: {(1,3,5),[6]}
    知识点:集合里不可以出现字典、列表等可变元素,即便元组里套列表、字典也不行。
    集合里的元素、字典里的键必须为不可变元素!
    可变类型:列表、字典、集合
    不可变类型:数字、字符串、元组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼义虎神

打赏5C币,作者可获得4C币

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值