Python——集合

Python集合,用于保存不重复的元素。集合的所有元素都放在一对“{ }”大括号中,两个相邻元素键用逗号分隔。

集合中的每个元素都是唯一的,因此可以用来做去重操作。

集合的创建

1. 直接使用大括号创建集合

语法:setname = {element1,element2,element3.....element n}

其中setname是集合的名字,大括号中的是集合的元素,不限制个数,不限制类型(只要是Python数据类型都可以)

代码实例:

可以发现,集合中的元素排列是无序的,输出的结果和存入的顺序并没有直接关系。

#使用大括号创建集合
set_name = {'小红','小青','小明','小明'}  #注意这里只会保留一个'小明'
set_age = {10,20,21}
set_all = {'字符1',1,2,('字符2','字符3')}

print(set_name)
print(set_age)
print(set_all)

代码运行结果:


=========================== RESTART: E:\python_work\python_demo.py ===========================
{'小青', '小红', '小明'}
{10, 20, 21}
{'字符1', 1, 2, ('字符2', '字符3')}
>>> 

2.使用set()函数创建集合

使用set()函数将列表、元组等其他可迭代对象转换为集合。

语法格式:setname = set(iteration)

其中iteration表示要转换为集合的可迭代对象,其类型可以是列表、元组、range对象、字符串。如果是字符串,返回的集合将是包含全部不重复字符的集合。

#使用set函数创建集合
set1 = set('字符串')
set2 = set(('元组元素1','元组元素2'))
set3 = set(['列表元素1','列表元素2'])
set4 = set(range(10))

print(set1)
print(set2)
print(set3)
print(set4)

代码运行结果:

=========================== RESTART: E:\python_work\python_demo.py ===========================
{'串', '字', '符'}
{'元组元素1', '元组元素2'}
{'列表元素1', '列表元素2'}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> 

集合元素的添加与删除

1.向集合中添加元素

集合是可变序列,所以可以对其进行修改。

语法格式:setname.add(element)

其中element为要添加的目标元素值。

代码实例:

#向集合中添加元素
set_name = {'小红','小青','小明'}
print(set_name)
print('=====添加一个名为"小李"的元素====')
set_name.add('小李')
print(set_name)

代码运行结果为:

=========================== RESTART: E:\python_work\python_demo.py ===========================
{'小明', '小青', '小红'}
=====添加一个名为"小李"的元素====
{'小明', '小李', '小青', '小红'}
>>> 

2.从集合中删除元素

删除整个集合:del setname

删除集合中的某个元素:pop()或者remove()方法

清空集合中的元素:clear()方法

代码片段1:

#从集合中移除某个元素
set_name = {'小红','小青','小明'}
set_name.remove('小红')  #移除指定的元素
set_name.pop()           #移除其中一个元素(随机移除)
print(set_name)

if '小白' in set_name:
    set_name.remove('小白')  #移除一个集合中没有的元素,一定要先做判断,然后对其删除

set_name.remove('小李')  #该句话程序会报错

代码运行结果:

=========================== RESTART: E:\python_work\python_demo.py ===========================
{'小青'}
Traceback (most recent call last):
  File "E:\python_work\python_demo.py", line 463, in <module>
    set_name.remove('小李')  #该句话程序会报错
KeyError: '小李'
>>> 

代码片段2:

#清空集合元素并删除集合
set_name = {'小红','小青','小明'}
set_name.clear()   #该语句会将集合变为空集合
print(set_name)
del set_name       #删除集合,再访问集合将会导致程序报错
print(set_name)

代码运行结果:

=========================== RESTART: E:\python_work\python_demo.py ===========================
set()
Traceback (most recent call last):
  File "E:\python_work\python_demo.py", line 471, in <module>
    print(set_name)
NameError: name 'set_name' is not defined
>>> 

集合的交集、并集和差集运算

集合中常用的操作为交集、并集、差集

交集:使用 “&” 符号

并集:使用 “|” 符号

差集:使用 “-” 符号

代码实例:

#交集、并集、差集的演示
java = {'小红','小明','小白'}
python = {'小红','小白','小黄'}

print('学习java的学生有:',java)
print('学习python的学生有:',python)

print('交集运算:',java & python)
print('并集运算:',java | python)
print('差集运算:',java - python)
print('差集运算:',python - java)


代码运行结果:

=========================== RESTART: E:\python_work\python_demo.py ===========================
学习java的学生有: {'小明', '小红', '小白'}
学习python的学生有: {'小红', '小黄', '小白'}
交集运算: {'小红', '小白'}
并集运算: {'小明', '小红', '小黄', '小白'}
差集运算: {'小明'}
差集运算: {'小黄'}
>>> 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一名程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值