目录
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"}