知行编程网知行编程网  2022-10-27 01:00 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python集合能做什么的相关知识,包括python创建一个集合,以及自学python能做什么这些编程知识,希望对大家有参考作用。

python集合的使用: 1、可以使用集合来去除重复,方法是在集合中加入列表,然后遍历,最后打印出重复的结果; 2. 使用集合来测试关系,例如求差、并集。

python集合可以做什么



一、什么是集合:

集合(set)是一个无序的不重复元素序列。

重要提示:集合中的元素不可重复,集合中的元素仍然是无序的。

集合是一个可变容器

集合内的数据对象都是唯一的(不能重复)

集合是可迭代对象

集合相当于一个只有键没有值的字典(键是集合中的数据)

集合内的元素可以设置不可变类型frozenset()

集合pop()删除的时候类似队列先进先出 ,是类似。

也就是说,一个集合可以像元组一样设置为不可变类型;默认情况下也可以像字典和列表一样迭代更改;同时,集合中的元素可以是列表、元组和字典。



二、为什么要使用集合

集合的特点决定了它简单,高效,速度快。

例如当用列表去重的时候:

list1=[1,2,3,4]
list2=[3,4,5,6]
list3=[]
for i in list1:
   if i in list2:
       list3.append(i)
print(list3)



利用集合去重:

my_list = [1, 2, 3, 4, 2, 3, 1, 2, 2]
# 转化为集合
my_set = set(my_list)
print(list(my_set))

# 结果

[1, 2, 3, 4]



三、集合可以进行如下基本操作:




1、 创建字典

可以使用花括号 { } 或 set() 函数创建集合。注意:要创建空集,必须使用 set() 而不是 {},因为 {} 用于创建空字典。

>>> my_set = set(('apple',))
>>> my_set
{'apple'}



2、添加元素(add(),update())

#  add  作为一个整体添加到集合中
my_set = set()
my_set.add("abc")
print(my_set)   
#update  是把要传入的元素拆分,做为个体传入到集合中
my_set = set()
my_set.update("abc")
print(my_set)



3、删除元素(remove(),pop(),discard())

#remove 如果集合种有,则直接删除;如果没有,程序报错  格式:集合名.remove(元素)
my_set = {11, 13, 15} 
my_set.remove(13)
print(my_set) my_set.remove(131)
print(my_set)   
#pop  随机删除集合中的元素 如果集合中没有元素则程序报错
my_set = {11, 13, 15}
my_set.pop()
print(my_set)   
#discard  如果集合中元素存在,直接删除; 如果元素不存在 不做任何操作   格式: 集合名.discard(元素)
my_set = {11, 13, 15} 
my_set.discard(13)
print(my_set) 
my_set.discard(131)
print(my_set)



4、交集( & )

set1 = {9, 2, 3, 4}
set2 = {3, 4, 5, 16}
new_set = set1 & set2
print(new_set)
# result  {3, 4}



5、 并集( | )

set1 = {1, 2, 3, 4}
set2 = {3, 5, 5, 6}
new_set = set1 | set2
print(new_set)
# result  {1, 2, 3, 4, 5, 6}



6、 差集(-)

项在前一个集合中,但不在后一个集合中。

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 - set2
print(new_set)
# result  {1, 2}



7、对称差集( ^ )

也就是说,该项目在上一组或下一组中,但不能同时在两者中。那是交集减去联合。

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 ^ set2
print(new_set)
# result  {1,2,5,6}



8、子集判断

set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判断set1是否是set2的子集
print(set1.issubset(set2))
# result  True



9、父集判断

set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判断set1是否是set2的父集
print(set1.issuperset(set2))
# result False



10、迭代和枚举

s={34,56,76,34,56,54,43,23,56}
for i in s:
   print(i)  ##迭代输出其内容
for i,v in enumerate(s):
   print('index: %s,value: %s' %(i,v))
"""
result:
index: 0,value: 34
index: 1,value: 43
index: 2,value: 76
index: 3,value: 54
index: 4,value: 23
index: 5,value: 56
"""

可观察出,集合会自动过滤掉相同元素。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享