8.1 集合的一些概念
基本形式:集合是用大括号写的,并且其是无序和不能重复的。
myset = {"hg一号", "hg二号", "hg三号"}
print(myset)
注意:集合是无序的,因此您无法确定项目的显示顺序。(区别于元组)
8.2 集合的“增”
8.2.1 添加项目值
创建集合后,您无法更改其项目,但可以添加新项目。要将一项添加到集合中,请使用add() 方法。 例如:添加hg菜鸟到集合中
myset = {"hg一号", "hg二号", "hg三号"}
myset.add('hg菜鸟')
print(myset)
8.2.2 添加集合
要将另一个集合中的项目添加到当前集合中,请使用update() 方法。 例如将myset1添加到myset中:
myset = {"hg一号", "hg二号", "hg三号"}
myset1 = {"hg一号", "hg二号", "hg三号","hg菜鸟"}
myset.update(myset1)
print(myset)
注意集合不能重复,重复的集合会被覆盖,因此只添加了新的值进来。
8.2.3 添加任何可迭代对象
update()方法中的对象不一定是集合,它可以是任何可迭代对象(元组、列表、字典等)。 例如:将myset2列表加入集合myset1
myset = {"hg一号", "hg二号", "hg三号"}
myset1 = ["hg一号", "hg二号", "hg三号","hg菜鸟"]
myset.update(myset1)
print(myset)
8.3 集合的“删”
8.3.1 remove()方法
要删除集合中的项目,请使用remove()、 或discard()方法。 例如我要移除hg一号:
myset = {"hg一号", "hg二号", "hg三号"}
myset.remove("hg一号")
print(myset)
注意:如果要删除的项目不存在,remove()将引发错误。
8.3.2 discard() 方法
使用以下discard() 方法删除“hg一号” :
myset = {"hg一号", "hg二号", "hg三号"}
myset.discard("hg一号")
print(myset)
注意:如果要删除的项目不存在,discard() 将引发错误。
8.3.3 pop() 方法
使用以下pop() 方法删除最后一项:
myset = {"hg一号", "hg二号", "hg三号"}
myset.pop()
print(myset)
注意:集合是无序的,因此在使用该pop()方法时,您不知道哪个项目被删除。
8.3.4 clear() 方法
clear() 方法清空集合:
myset = {"hg一号", "hg二号", "hg三号"}
myset.clear()
print(myset)
打印为空。
8.3.5 del关键字
该del关键字将完全删除该集合:
myset = {"hg一号", "hg二号", "hg三号"}
del myset
集合已经不存在了,因此我们不打印。
8.4 集合的“改”
集合元素为不可变类型,所以无法修改
8.5 集合的“查”
8.5.1 遍历集合
您不能通过引用索引或键来访问集合中的项目。但是您可以使用循环遍历集合项for ,或者使用in关键字询问集合中是否存在指定的值 。
myset = {"hg一号", "hg二号", "hg三号"}
for i in myset:
print(i)
8.5.2 检查是否存在
检查集合中是否存在“串串一号”:(显然不在)
myset = {"hg一号", "hg二号", "hg三号"}
print('串串一号' in myset)
8.6 集合连接
8.6.1 普通连接
您可以使用union()返回包含两个集合中所有项的新集合的方法,或将一个集合中的所有项update()插入另一个集合的方法。 (1)使用union()方法返回一个包含两个集合中所有项目的新集合
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
(2)update()方法将 set2 中的项插入到 set1 中
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
注意:无论union()和update() 将排除任何重复的项目。
8.6.2 仅保留重复项
intersection_update()方法将只保留两个集合中都存在的项目。 保留myset4和myset5重复项:
myset4 = {"hg一号", "hg二号", "hg三号",'hg菜鸟'}
myset5 = {"hg一号", "hg五号", "hg三号",'hg菜鸟'}
myset4.intersection_update(myset5)
print(myset4)
或者用intersection()方法将返回一个新集合,该集合仅包含两个集合中都存在的项目。
myset4 = {"hg一号", "hg二号", "hg三号",'hg菜鸟'}
myset5 = {"hg一号", "hg五号", "hg三号",'hg菜鸟'}
z=myset4.intersection(myset5)
print(myset4)
8.6.3 保留所有,但不保留重复项
symmetric_difference_update()方法将只保留两个集合中都不存在的元素(删除两个集合都有的)。
myset4 = {"hg一号", "hg二号", "hg三号",'hg菜鸟'}
myset5 = {"hg一号", "hg五号", "hg三号",'hg菜鸟'}
myset4.symmetric_difference_update(myset5)
print(myset4)
symmetric_difference()方法将返回一个新集合,该集合仅包含两个集合中都不存在的元素。
myset4 = {"hg一号", "hg二号", "hg三号",'hg菜鸟'}
myset5 = {"hg一号", "hg五号", "hg三号",'hg菜鸟'}
z=myset4.symmetric_difference(myset5)
print(z)
练习题
Q1-检查fruits集中是否存在“appl”。
fruits = {"apple", "banana", "cherry"}
if "apple" in fruits:
print("Yes, apple is a fruit!")
Q2-使用 add 方法将“orange”添加到fruits集中。
fruits = {"apple", "banana", "cherry"}
fruits.add('orange')
print(fruits)
Q3-使用正确的方法将多个项目(more_fruits)添加到fruits 集中。
fruits = {"apple", "banana", "cherry"}
more_fruits = ["orange", "mango", "grapes"]
fruits.update(more_fruits)
print(fruits)
Q4-使用 remove 方法从fruits 集中删除“banana。
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits)
Q5-使用discard方法从fruits 集中删除“香蕉”。
fruits = {"apple", "banana", "cherry"}
fruits.discard("banana")
print(fruits)
answer都经过python调试。
-
https://chuanchuan.blog.csdn.net/article/details/120419754?spm=1001.2014.3001.5502 -
用Python玩转数据——中国大学mooc
|