Python Python 学习笔记——数据容器:集合

ZyaChopper · 2023年11月09日 · 1663 次阅读

背景

今天学习了数据容器——集合(set),顺便把学习的内容自我消化一遍,在这里整理记录一下,方便日后的使用查阅
集合的主要特点:

  • 不存在重复的元素
  • 内容无序,不支持下标索引
  • 允许修改(增加元素和删除元素)

1.集合的定义(用{}表示集合)

set1={'a','b','c','d',1,2,3,4}       #定义一个非空集合
set2=set()                         #定义一个空集合

2.集合的操作——添加新元素

1.使用方法:集合名称.add(待添加元素)
set1={'a','b','c','d',1,2,3,4} 
set1.add(5)
print(set1)       #结果:set1={'a','b','c','d',1,2,3,4,5}  

3.集合的操作——移除某个元素

1.使用方法:集合名称.remove(待移除元素)
set2={'a','b','c','d',1,2,3,4} 
set2.remove('a')
print(set2)       #结果:set2={'b','c','d',1,2,3,4}  

4.集合的操作——移除某个元素

1.使用方法:集合名称.remove(待移除元素)
set3={'a','b','c','d',1,2,3,4} 
set3.remove(a)
print(set3)       #结果:set3={'b','c','d',1,2,3,4}  

5.集合的操作——随机取出一个元素

1.使用方法:集合名称.pop()
set4={'a','b','c','d',1,2,3,4} 
x=set4.pop()
print(x,set4)       #结果:x=set4中随机的一个元素,set4集合元素中不再包含x

6.集合的操作——清空集合

1.使用方法:集合名称.clear()
set5={'a','b','c','d',1,2,3,4} 
set5.clear()
print(set5)       #结果:set4=set(),空集合

7.集合的操作——求 2 个集合的差异

1.使用方法:集合1名称.difference(集合2名称)
set5={'a','b','c','d',1,2,3,4} 
set6={1,2,3,4}
set7= set5.different(set6)     #结果:set7={a,b,c,d},set5和set6本身元素不变

8.集合的操作——移除集合 1 中与集合 2 有交集的元素

1.使用方法:集合1名称.difference_update(集合2名称)
set8={'a','b','c','d',1,2,3,4} 
set9={1,2,3,4}
set8.difference_update(set9)     #set8发生变化,set9不变化,结果:set8={'a','b','c','d'},set9={1,2,3,4}

9.集合的操作——合并两个集合

1.使用方法:集合1名称.union(集合2名称)
set11={'a','b','c','d',1,2,3,4} 
set12={1,2,3,4}
set13= set11.union(set12)     #set11和set12不变化,结果:set13={'a','b','c','d',1,2,3,4} 

#set13为set11和12的并集,且元素的顺序是随机排列的,相同的元素自动去重

10.集合的操作——求集合的长度(相同的元素会自动去重计数)

1.使用方法:len(集合名称)
set14={'a','b','c','d',1,2,3,4,4,3,'a'} 
y=len(set14)             #结果:集合的长度为8 

11.集合的操作——遍历集合

1.使用方法:for x in 集合名称:
set14={'a','b','c','d',1,2,3,4,4,3,'a'} 
for x in set14:
     print(x)

结果:
1
2
3
c
d
4
b
a
注:集合不支持下标索引,所以不能用while循环来遍历
暫無回覆。
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册