一、前言
??Python中的集合同数学中的集合概念类似,也是用于保存不重复元素的。
二、集合的创建
1.直接使用“{}”创建
??在Python中,创建set集合也可以像列表、元组和字典一样,直接将集合赋值给变量从而实现创建集合,即直接使用大括号“{}”创建。语法格式如下:
setname = {element1,element2,element3}
参数说明:
- setname:表示集合的名称
- element1,element2:表示集合中的元素,个数没有限制
实例:
set1 = {"小红", "小明", "小聪"}
set2 = {1, 2, 3, 4, 5, 6}
ste3 = {"python", 28, ("人生苦短", "我用Python")}
上面代码创建一下集合:
{"小红", "小明", "小聪"}
{1, 2, 3, 4, 5, 6}
{"python", 28, ("人生苦短", "我用Python")}
2.使用set()函数创建
??在Python中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。set()函数的语法格式如下:
setname = set(iteration)
参数说明:
- setname:表示集合的名称
- iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等。另外,也可以是字符串,如果字符串,返回值将是包含全部不重复字符的集合。
实例:
set1 = set("命运给予我们的不是失望之酒,而是机会之杯")
set2 = set([1.412, 2.345, 234.455, 3344.34])
ste3 = set(("人生苦短", "我用Python"))
上面代码将创建以下集合:
{'望', '杯', '命', '不', '失', '之', '的', '而', '机', '我', '们', '是', '给', '会', '予', '运', '酒', ','}
{3344.34, 1.412, 2.345, 234.455}
{'我用Python', '人生苦短'}
三、集合的添加和删除
??集合是可变序列,所以在创建集合后,还可以对其添加或者删除元素。
1.集合中添加元素
??向集合中添加元素可以使用add()方法实现。它的语法格式如下:
setname.add(element)
参数说明:
- setname:表示要添加元素的集合
- element:表示要添加的元素内容(这里只能使用字符串、数字、布尔类型等不变对象,不能使用列表、字典等可变对象)
实例:
mr = set(["零基础Java", "零基础C", "零基础PHP"])
mr.add("零基础Python")
print(mr)
运行以上代码,输出以下集合:
{'零基础Java', '零基础PHP', '零基础Python', '零基础C'}
2.从集合中删除元素
??在Python中,可以使用del命令删除整个集合,也可以使用集合的pop()方法或remove()方法删除一个元素,或者使用集合对象的clear()方法清空集合,即删除全部元素。
实例:
mr = set(['零基础Java', '零基础PHP', '零基础Python', '零基础C'])
mr.remove('零基础Python')
print("使用remove()方法移除指定元素后:", mr)
mr.pop()
print("使用pop()方法移除指定元素后:", mr)
mr.clear()
print("使用clear()方法移除指定元素后:", mr)
运行以上代码,输出以下结果:
使用remove()方法移除指定元素后: {'零基础PHP', '零基础Java', '零基础C'}
使用pop()方法移除指定元素后: {'零基础Java', '零基础C'}
使用clear()方法移除指定元素后: set()
注意:使用集合的remove()方法,如果指定的内容不存在,将抛出以下异常,指定元素前最好判断一下是否存在,可以使用in关键字实现,如,使用“‘零语’ in c”可以判断c集合中是否有“零语”
四、集合的交集、并集和差集运算
??集合最长用的操作就是进行交集、并集合差集运算。
- 进行交集运算时使用“&”符合
- 进行并集运算时使用“|”符合
- 进行差集运算时使用“-”符号
实例:
mr = set(['小明', '小红', '小白'])
mr1 = set(['小明', '小红', '小聪'])
print("出输出既学习数学,也学习英语的人有:", mr & mr1)
print("学习的人有:", mr | mr1)
print("只学习数学的人有:", mr - mr1)
运行以上代码,输出以下结果:
出输出既学习数学,也学习英语的人有: {'小明', '小红'}
学习的人有: {'小聪', '小明', '小红', '小白'}
只学习数学的人有: {'小白'}
|