python3 集合(set)

1. 定义

集合是一个无序且不重复的元素集合,一种类似列表和字典的数据结构。集合的表示方法是花括号,这与字典是一样的,可以通过花括号或构造函数set()来初始化一个集合。需要注意的是,要创建一个空集合,必须使用set(),如果使用{}将得到的是一个空字典。

2. 基本属性

2.1 关系测试

集合可以用in和not in检查一个对象是否属于集合。
输入:

num_set = {1, 2, 3, 4, 5}
word_set = set(["one", "two", "three"])

print(3 in num_set)
print("two" not in word_set)

输出:

True
False

2.2 消除重复元素

因为集合元素具有不重复的特点,所以如果传入的参数有重复,会自动忽略。所以它非常适合用来消除重复元素。

nums = {1, 2, 1, 3, 1, 4, 5, 6}
print(nums)

输出:

{1, 2, 3, 4, 5, 6}

2.3 访问集合

因为集合是无序的,所以不可以用索引访问集合元素,也不能做切片(slice)操作,更没有键(keys)可用来获取集合中元素的值。
但是可以由len()函数获得集合的大小, 用 for 循环迭代集合的成员(for x in set)。

2.4 修改集合

2.4.1 增加元素
2.4.1.1 add

增加单个元素,add的作用类似列表中的append.

2.4.1.2 update

增加序列,类似列表中的extend。update方法可以支持同时传入多个参数.增加已有的元素不会对集合产生影响,也不会抛出异常.

2.4.2 删除元素
2.4.2.1 discard

删除单个元素,如果指定元素不在集合中也不会抛出异常。

2.4.2.2 remove

删除单个元素,如果指定元素不在集合中会抛出KeyError错误.

2.4.2.3 clear

清空集合.

2.4.3 抛出元素

集合支持pop()方法,但是由于集合是无序的,pop返回的结果不能确定。且当集合为空时调用pop会抛出KeyError错误。

2.5 数学运算

2.5.1 union

操作符为“|”,取并集。

2.5.2 intersection

操作符为“&”,取交集。

2.5.3 difference

操作符为“-”,取第一个集合中包含,但是第二个集合中没有的元素组成集合。

2.5.4 sysmmetric difference

操作符为“^”,取并集减去交集。
输入:

first = {1, 2, 3, 4, 5, 6}
second = {4, 5, 6, 7, 8, 9}

print(first | second)
print(first & second)
print(first - second)
print(second - first)
print(first ^ second)

输出:

{1, 2, 3, 4, 5, 6, 7, 8, 9}
{4, 5, 6}
{1, 2, 3}
{8, 9, 7}
{1, 2, 3, 7, 8, 9}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值