python定义集合_Python - 集合

在数学上,一组是不以任何特定顺序的项目的集合。Python集合与此数学定义类似,但有以下附加条件。

该集合中的元素不能重复。

该集合中的元素是不可变的(不能被修改),但集合作为一个整体是可变的。

没有索引附加到python集合中的任何元素。所以他们不支持任何索引或切片操作。

设置操作

python中的集合通常用于像union,intersection,difference和complement等数学运算。我们可以创建一个集合,访问它的元素并执行这些数学运算,如下所示。

创建一个集合

通过使用set()函数或将所有元素放置在一对大括号内创建一个集合。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])

Months={"Jan","Feb","Mar"}

Dates={21,22,17}

print(Days)

print(Months)

print(Dates)

当上面的代码执行时,它会产生以下结果。请注意结果中元素的顺序如何变化。

set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

set(['Jan', 'Mar', 'Feb'])

set([17, 21, 22])

访问集合中的值

我们无法访问集合中的单个值。我们只能如上所示访问所有元素。但是我们也可以通过遍历该集合来获取单个元素的列表。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])

for d in Days:

print(d)

当上面的代码执行时,它会产生以下结果。

Wed

Sun

Fri

Tue

Mon

Thu

Sat

将项目添加到集合

我们可以使用add()方法将元素添加到集合中。再次讨论,没有特定的索引附加到新添加的元素。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])

Days.add("Sun")

print(Days)

当上面的代码执行时,它会产生以下结果。

set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

从集合中删除项目

我们可以使用discard()方法从集合中删除元素。再次讨论,没有特定的索引附加到新添加的元素。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])

Days.discard("Sun")

print(Days)

当上面的代码执行时,它会产生以下结果。

set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

集合

两个集合上的联合操作产生一个包含来自两个集合的所有不同元素的新集合。在下面的例子中,元素“Wed”出现在两个集合中。

DaysA = set(["Mon","Tue","Wed"])

DaysB = set(["Wed","Thu","Fri","Sat","Sun"])

AllDays = DaysA|DaysB

print(AllDays)

当上面的代码执行时,它会产生以下结果。请注意,结果只有一个“结婚”。

set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

集合的交集

两个集合上的交集操作产生一个新的集合,其中只包含来自两个集合的共同元素。在下面的例子中,元素“Wed”出现在两个集合中。

DaysA = set(["Mon","Tue","Wed"])

DaysB = set(["Wed","Thu","Fri","Sat","Sun"])

AllDays = DaysA & DaysB

print(AllDays)

当上面的代码执行时,它会产生以下结果。请注意,结果只有一个“结婚”。

set(['Wed'])

集合的差异

对两组进行差异化操作会产生一个新的集合,其中只包含来自第一集合的元素,而不包含第二集合中的元素。在下面的例子中,元素“Wed”出现在两个集合中,所以它不会在结果集中找到。

DaysA = set(["Mon","Tue","Wed"])

DaysB = set(["Wed","Thu","Fri","Sat","Sun"])

AllDays = DaysA - DaysB

print(AllDays)

当上面的代码执行时,它会产生以下结果。请注意,结果只有一个“结婚”。

set(['Mon', 'Tue'])

比较集合

我们可以检查一个给定的集合是否是另一个集合的子集或超集。结果是True或False,取决于组中存在的元素。

DaysA = set(["Mon","Tue","Wed"])

DaysB = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])

SubsetRes = DaysA <= DaysB

SupersetRes = DaysB >= DaysA

print(SubsetRes)

print(SupersetRes)

当上面的代码执行时,它会产生以下结果。

True

True

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值