python集合的元素可以是_Python集合详解

一、集合的定义和基本操作方法

1、定义

不同元素组成(会自动去掉重复的元素)

无序

集合中的元素必须是不可变类型

2、集合的格式举例

x = {1,2,5,"hello","word"}

3、集合的基本操作

1)不同类型转变为集合的方法举例

x = set("hello")          #转变为普通可变集合

x = set(["hello","hello","word"])   #转变为普通可变集合

x = frozenset("hello")      #转变为特殊不可变集合

2)增加集合的元素

x = {1,2,3,5}

x.add("y")

3)清除集合

x = {1,2,3,5}

x.clear()

4)复制集合

x = {1,2,3,5}

x1 = x.copy()

5)随机删除集合元素

x = {1,2,3,5}

x.pop()

6)指定删除集合元素,没找到要删除的元素时会报错

x = {1,2,3,5}

x.remove(5)

7)指定删除集合元素,没找到要删除的元素时不会报错

x = {1,2,3,5}

x.discard(8)

8)求交集

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.intersection(B1))

print(A1 & B1)

9)求并集

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.union(B1))

print(A1 | B1)

10)求差集

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.difference(B1)) #A1-B1的差集

print(A1 - B1)

print(B1.difference(A1)) #B1-A1的差集

print(B1 - A1)

11)求交叉补集

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.symmetric_difference(B1))

print(A1 ^ B1)

备注:symmetric_difference_update 是求交叉补集并复制给原值,例如将A1和B1的交叉补集复制给A1,此处省略;

12)将A1和B1的差集赋值给A1

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

A1.difference_update(B1) #相当于 A1 = A1 - B1

print(A1)

13)将A1和B1的交集复制给A1

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

A1.intersection_update(B1) #相当于 A1 = A1 & B1

print(A1)

14)有交集返回True,无交集返回False

A = ['a','b','c','d']

B = ['a','b','e']

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.isdisjoint(B1))

15)判断A1是否是是B1的子集,即A1 <= B1成立则显示True,否则显示False

A = [1,2,3]

B = [1,2,3,4,5]

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.issubset(B1))

16)判断A1是否是是B1的父集,即A1 >= B1成立则显示True,否则显示False

A = [1,2,3,4,5]

B = [1,2,3,4,5]

A1 = set(A)

B1 = set(B)

print(A1,B1)

print(A1.issuperset(B1))

17)将B1的多个值增加到A1

A = [1,2,3,4,5]

B = [1,2,3,4,5]

A1 = set(A)

B1 = set(B)

print(A1,B1)

A1.update(B1)

print(A1)

备注:与add相比的区别,add一次只能增加一个值,update一次可以增加多个值;

18)使用集合对列表进行去重(不考虑列表内容的顺序)

x = ["a","b","a","a"]

x = list(set(x))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值