Python集合(5)

集合:是一个无序的不重复的序列

集合支持所有不可变的类型

创建集合:

set()

set([1,2,3])

{1,2,3}

1、add函数

添加集合中的元素,如果已经存在,不允许再添加

例子中,集合不允许有重复数据,并且是无序的

例子:

username = ['zhao','zhang','wang','zhao', 'li']

test_set = set()

test_set.add(username[0])
test_set.add(username[1])
test_set.add(username[2])
test_set.add(username[-1])
test_set.add(username[-2])

print(test_set)

结果:
{'zhang', 'li', 'zhao', 'wang'}

2、update函数

可批量添加到集合中元素

例子:

username = ['zhao','zhang','wang','zhao', 'li']
tuple1 = ('a','b','c')
test_set = set()
# 放入列表
test_set.update(username)
# 放入元组
test_set.update(tuple1)
# 放入字符串
test_set.update('python')
print(test_set)

结果:
{'wang', 'n', 'c', 'zhang', 'y', 't', 'li', 'o', 'b', 'zhao', 'p', 'h', 'a'}

3、remove函数  clear函数

remove 按名称移出元素

clear 清空集合

例子:

username = ['zhao','zhang','wang','zhao', 'li']
test_set = set()
test_set.update(username)
print(test_set)
# 移出元素wang
test_set.remove('wang')
print(test_set)
#清空集合
test_set.clear()
print(test_set)

结果:

{'zhang', 'li', 'wang', 'zhao'}
{'zhang', 'li', 'zhao'}
set()

4、difference 函数

set1.difference(set2)   集合set1与集合set2的差集,去掉set2中相同的

可以使用多个集合进行差集

例子:

list1 = [1,2,3,4,5]
list2= [2,3,4,6,7]
list3 = [5,9]

set1 = set(list1)
set2 =set(list2)
set3= set(list3)

set4= set1.difference(set2,set3)

print(set4)

结果:
{1}

5、intersection 函数

set1.intersection(set2)   集合set1与集合set2的交集,与set2中相同的

可以使用多个集合进行交集

例子:

list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [5,9,10]

set1 = set(list1)
set2 =set(list2)
set3= set(list3)

set4= set1.intersection(set2,set3)

print(set4)

结果:

{5}

6、union函数

set1.union(set2)   集合set1与集合set2的并集,合并set2中的元素

可以使用多个集合进行并集

例子:

list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [5,9,10]

set1 = set(list1)
set2 =set(list2)
set3= set(list3)

set4= set1.union(set2,set3)

print(set4)

结果:

{1, 2, 3, 4, 5, 6, 7, 9, 10}

7、isdisjoint 函数

判断两个集合中,是否有相同的元素,如果没有为True,如果有为Flase

例子:

list1 = [1,2,3,4,5]
list2= [2,3,5,4,6,7]
list3 = [10,11,12]

set1 = set(list1)
set2 =set(list2)
set3 =set(list3)
# list1 与 list2 有相同元素为False
set4= set1.isdisjoint(set2)
# list1 与 list3 无相同元素为True
set5= set1.isdisjoint(set3)
print(set4)
print(set5)

结果:
False
True

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值