python之set语法

本文详细介绍了Python中set()函数的使用方法,包括如何利用该函数去除不同数据类型中的重复元素,以及如何进行集合间的交集、差集和并集运算。同时,文章还提供了将集合转换为字符串、列表和元组的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set()是python的内置函数,主要的作用是:创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集差集并集等。
set()的特征:元素不重复、元素为不可变对象

1.删除重复数据
set()函数支持的数据类型有:列表、字符型、元组、字典

a=["a","b","a",1,2,3,1,"1"]
print("1.set()函数对列表去重:",set(a))

b="HelloWorld!HelloPython!"
print("2.set()函数对字符串去重:",set(b))

c=("xyz",1,"1",3.14,"xyz",1)
print("3.set()函数对元组去重:",set(c))

d={"a":"chen","b":"qian","a":"chen"}
print("4.set()函数对字典去重:",set(d.values()))

1.set()函数对列表去重: {'b', 1, 2, 3, 'a', '1'}
2.set()函数对字符串去重: {'t', 'H', 'r', 'l', 'y', 'h', 'e', '!', 'd', 'W', 'P', 'n', 'o'}
3.set()函数对元组去重: {1, 3.14, 'xyz', '1'}
4.set()函数对字典去重: {'qian', 'chen'}

技巧:
1.1set()函数对嵌套的列表,元组嵌套列表不支持,需要把嵌套里面的列表变成字符串类型,才可以操作

e=[["a","b"],["a","b"],[1,2,3],[1,"1"]]

ee = []
for i in e:
    ee.append(str(i))
print("5.set()函数对嵌套列表去重:",set(ee))

5.set()函数对嵌套列表去重: {"['a', 'b']", '[1, 2, 3]', "[1, '1']"}

1.2判断元素是否在set集合里面:in/not in

a=["a","b","a",1,2,3,1,"1"]
print("b元素在set集合里面:","b"in set(a))

b元素在set集合里面: True

a=["a","b","a",1,2,3,1,"1"]
print("w元素在set集合里面:","w"in set(a))

w元素在set集合里面: False

1.3判断set集合里面的元素是否有重复的,可以用len()函数

a=["a","b","a",1,2,3,1,"1"]
if len(set(a))==len(a):
    print("a列表里面没有重复的元素!pass")
else:
    print("a列表里面有重复的元素!fail")

a列表里面有重复的元素!fail

**2.取交集:**取a集合和b集合的交集intersection()

a={"a","b","a",1,2,3,1,"1"}
b={1,2,3.14,"a","c"}
temp=a.intersection(b)
print("a和b的交集:",temp)

a和b的交集: {1, 'a', 2}

3.差集:取a集合和b集合的差集difference()

a={"a","b","a",1,2,3,1,"1"}
b={1,2,3.14,"a","c"}
temp=a.difference(b)
print("a和b的差集:",temp)

a和b的差集: {'1', 3, 'b'}

4.并集:取a集合和b集合的并集union()

a={"a","b","a",1,2,3,1,"1"}
b={1,2,3.14,"a","c"}
temp=a.union(b)
print("a和b的并集:",temp)

a和b的并集: {1, 2, 3, 'c', 3.14, 'a', 'b', '1'}

5.集合转换成:字符串,列表,元组

num=set(range(4))

str_num=str(num)
list_num=list(num)
tuple_num=tuple(num)

print("1.str_num的数据类型:",type(str_num))
print("2.list_num的数据类型:",type(list_num))
print("3.tuple_num的数据类型:",type(tuple_num))

1.str_num的数据类型: <class 'str'>
2.list_num的数据类型: <class 'list'>
3.tuple_num的数据类型: <class 'tuple'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值