python中集合用什么表示_python中集合用法大全

本文详细介绍了Python中的可变集合set和不可变集合frozenset,包括它们的区别、创建方法以及常用操作,如add()、clear()、copy()、discard()、remove()、pop()、difference()、difference_update()、union()、update()、symmetric_difference()、symmetric_difference_update()、intersection()、intersection_update()、isdisjoint()、issubset()和issuperset()等函数的使用示例和解释。
摘要由CSDN通过智能技术生成

序言:

集合中各元素间是无序的,相同元素在集合中唯一存在。即 集合是无序组合,它没有索引和位置的概念,但可变集合中的元素是可以动态增加或删除的。

集合应用场景:

去重:如列表  去重。

关系测试:判断数据是否存在 交集,并集,差集  等关系。

集合的类型:

可变集合 —— set

不可变集合 —— frozenset

注:本文重点讨论的是可变集合set

————————————————

python中可变集合set和不可变集合frozenset的区别链接

1.0 set()函数

描述:可以将其它的组合数据类型转化为可变集合类型(或将不可变的集合类型frozenset转变为可变的集合类型set),返回一个无重复元素且排序任意的可变集合。

语法: set() -> new empty set object  返回一个空集合(该集合可变)

set(iterable) -> new set object  返回一个新集合(该集合可变)

iterable —— 要转换的组合数据类型。

注:s = {} 生成的是字典类型,而不是集合类型。

程序示例①:

s1 = set() #创建一个空集合。

l = [1.23,"a"] #列表类型

d = {1:"a",2:"b"} #字典类型

a = (1,2,"b") #元组类型

s = "厉害了,我的国" #字符串

#将列表,字典,元组,字符串转化为集合

s2 =set(s)

s3=set(l)

s4=set(d)

s5=set(a)print(s1)print(s2)print(s3)print(s4)print(s5)

程序运行结果:

set()

{'了', '的', '厉', '害', '国', ',', '我'}

{'a', 1.23}

{1, 2}

{1, 2, 'b'}

程序示例②:

d = {} #创建的是字典类型,空字典

s = set() #创建可变空集合

a = {1,2,3,"a"} #默认为可变集合

b = set("1,2,3") #与a语句等效

c1 = frozenset() #创建空的不可变集合,该集合不能添加任何元素。

c2 = frozenset("1,2,3") #不可变集合,集合中元素不能增加或删除。

print(type(d),type(s),type(a),type(b),type(c1),type(c2))

f= frozenset(a) #将可变集合a转换为不可变集合f

print(f,type(f))

s1= set(c2) #将不可变集合c2转换为可变集合s1

print(s1,type(s1))

程序运行结果:

frozenset({'a', 1, 2, 3}) {'2', '3', ',', '1'}

2.0 add()函数

描述:如果集合s中不存在元素x,则将元素x添加到集合s中。

语法:s.add(x)

x —— 要添加的元素。集合s已经存在元素x,也不会报错。

程序示例:

s = {1,2,"a"}

s.add("ab") #将字符串"ab"添加到集合s中

s.add(1) #集合s已存在元素 1 ,但不会报错

s.add("z") #将单字符"z"添加到集合s中

print(s)

程序运行结果:

{'a', 1, 2, 'z', 'ab'}

3.0 clear()函数

描述:删除集合s中的所有元素。

语法:s.clear()

程序示例:

s = {1,2,3,"a","bn"}

s.clear() #删除集合s所有元素

print(s)

程序运行结果:

set()

4.0 copy()函数

描述:复制生成一个新的集合。

语法 s.copy()

程序示例:

s = {1,2,3,"a","bc"}

s1 = s.copy() #复制集合s

s.add(789) #向原集合添加元素 789

s1.add("opq") #向复制集合s1添加元素 “opq”

#结果都互不干扰

print(s)

print(s1)

程序运行结果:

{1, 2, 3, 'a', 789, 'bc'}

{1, 2, 3, 'a', 'opq', 'bc'}

5.0 discard()函数

描述:移除集合s中的value元素。若value元素存在,则移除,不存在也不报错。

语法:s.discard(value)

value —— 要删除的元素

程序示例:

s = {1,2,3,4,5,"a","ab","h"}

s.discard(1) #移除元素 1

s.discard("ab") #移除元素 "ab"

s.di

当应用于集合时,Python提供了多种方法来操作和使用集合。以下是一些示例: 1. 创建集合: ```python my_set = {1, 2, 3} # 使用花括号创建一个包含元素的集合 print(my_set) # 输出结果:{1, 2, 3} ``` 2. 添加元素到集合: ```python my_set.add(4) # 使用add()方法添加单个元素到集合 print(my_set) # 输出结果:{1, 2, 3, 4} my_set.update([5, 6]) # 使用update()方法添加多个元素到集合 print(my_set) # 输出结果:{1, 2, 3, 4, 5, 6} ``` 3. 移除元素从集合: ```python my_set.remove(3) # 使用remove()方法移除指定元素 print(my_set) # 输出结果:{1, 2, 4, 5, 6} my_set.discard(2) # 使用discard()方法移除指定元素 print(my_set) # 输出结果:{1, 4, 5, 6} popped_element = my_set.pop() # 使用pop()方法移除并返回任意元素 print(popped_element) # 输出结果:1 print(my_set) # 输出结果:{4, 5, 6} ``` 4. 集合运算: ```python set1 = {1, 2, 3} set2 = {3, 4, 5} union_set = set1.union(set2) # 使用union()方法取两个集合的并集 print(union_set) # 输出结果:{1, 2, 3, 4, 5} intersection_set = set1.intersection(set2) # 使用intersection()方法取两个集合的交集 print(intersection_set) # 输出结果:{3} difference_set = set1.difference(set2) # 使用difference()方法取两个集合的差集 print(difference_set) # 输出结果:{1, 2} symmetric_difference_set = set1.symmetric_difference(set2) # 使用symmetric_difference()方法取两个集合的对称差集 print(symmetric_difference_set) # 输出结果:{1, 2, 4, 5} ``` 以上是一些集合的基本用法示例,你可以根据需要进一步探索集合的更多用法和功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值