python基础入门(8)之集合

目录

Python集合

一、集合理解

二、访问集合

2.1)遍历集合

3.2)检查是否存在

三、添加集合

3.1)添加项目值

3.3)添加任何可迭代对象

四、移除集合项

4.1)remove方法

4.2)iscard() 方法

4.3)pop() 方法

4.4)clear() 方法

4.5)del关键字

五、循环集合

六、集合连接

6.1)普通连接

6.2)仅保留重复项

6.3)保留所有,但不保留重复项

​七、练习


Python集合

一、集合理解

基本形式:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}

集合是用大括号写的。
创建一个集合:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
print(myset)

返回:

注意:集合是无序的,因此您无法确定项目的显示顺序。

二、访问集合

2.1)遍历集合

您不能通过引用索引或键来访问集合中的项目。但是您可以使用循环遍历集合项for ,或者使用in关键字询问集合中是否存在指定的值 。
例如:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
for i in myset:
    print(i)

返回:

3.2)检查是否存在

检查集合中是否存在“串串一号”:(显然不在)

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
print('笨小孩4' in myset)

返回布尔值:

三、添加集合

3.1)添加项目值

创建集合后,您无法更改其项目,但可以添加新项目。要将一项添加到集合中,请使用add() 方法。
例如:添加笨小孩4到集合中

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
myset.add('笨小孩4')
print(myset)

返回:

 3.2)添加集合

要将另一个集合中的项目添加到当前集合中,请使用update() 方法。
例如将myset1添加到myset中:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
myset1 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset.update(myset1)
print(myset)

返回:

为什么?别忘了我们的集合不能重复,重复的集合会被覆盖,因此只添加了新的值进来。

3.3)添加任何可迭代对象

update()方法中的对象不一定是集合,它可以是任何可迭代对象(元组、列表、字典等)。
例如:将myset2列表加入集合myset1

# coding=utf-8
myset1 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset2=['笨小孩','加油']
myset1.update(myset2)
print(myset1)

返回为:

四、移除集合项

4.1)remove方法

要删除集合中的项目,请使用remove()、 或discard()方法。
例如我要移除川川菜鸟:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.remove('笨小孩2')
print(myset4)

返回:

注意:如果要删除的项目不存在,remove()将引发错误。

4.2)iscard() 方法

使用以下discard() 方法删除“川川菜鸟” :

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.discard('笨小孩2')
print(myset4)
myset5 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5.discard('笨小孩')
print(myset5)

返回:

注意:如果要删除的项目不存在,discard()则 不会引发错误。

4.3)pop() 方法

使用以下pop() 方法删除最后一项:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.pop()
print(myset4)

返回:

注意:集合是无序的,因此在使用该pop()方法时,您不知道哪个项目被删除。

4.4)clear() 方法

clear() 方法清空集合:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.clear()
print(myset4)

打印为空。

4.5)del关键字

该del关键字将完全删除该集合:

myset4 = {"川川一号", "川川二号", "川川三号",'川川菜鸟'}
del myset4
print(myset4)

集合已经不存在了,因此我们不打印,还会报错

五、循环集合

for循环遍历即可

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
for i in myset4:
    print(i)

返回:

六、集合连接

6.1)普通连接

您可以使用union()返回包含两个集合中所有项的新集合的方法,或将一个集合中的所有项update()插入另一个集合的方法。
方法一:使用union()方法返回一个包含两个集合中所有项目的新集合

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)
print(set3)

 输出:

方法二:update()方法将 set2 中的项插入到 set1 中

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)
print(set1)

注意:无论union()和update() 将排除任何重复的项目。

6.2)仅保留重复项

intersection_update()方法将只保留两个集合中都存在的项目。
保留myset4和myset5重复项:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
myset4.intersection_update(myset5)
print(myset4)

返回:

​​​​​​​

或者用intersection()方法将返回一个新集合,该集合仅包含两个集合中都存在的项目。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
z=myset4.intersection(myset5)
print(z)

返回:

6.3)保留所有,但不保留重复项

symmetric_difference_update()方法将只保留两个集合中都不存在的元素。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩8'}
z=myset4.symmetric_difference_update(myset5)
print(z)

返回:

symmetric_difference()方法将返回一个新集合,该集合仅包含两个集合中都不存在的元素。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
z=myset4.symmetric_difference(myset5)
print(z)

返回:


七、练习

1-检查fruits集中是否存在“appl”。

fruits = {"apple", "banana", "cherry"}
if "apple"   fruits:
  print("Yes, apple is a fruit!")

2-使用 add 方法将“orange”添加到fruits集中。

fruits = {"apple", "banana", "cherry"}

3-使用正确的方法将多个项目(more_fruits)添加到fruits 集中。

fruits = {"apple", "banana", "cherry"}
more_fruits = ["orange", "mango", "grapes"]
fruits.update(more_fruits)#答案

4-使用 remove 方法从fruits 集中删除“banana。

fruits = {"apple", "banana", "cherry"}

5-使用discard方法从fruits 集中删除“香蕉”。

fruits = {"apple", "banana", "cherry"}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值