0
点赞
收藏
分享

微信扫一扫

Python中的集合

c一段旅程c 2022-04-23 阅读 112

Python中的集合


一、前言

  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()

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

  集合最长用的操作就是进行交集、并集合差集运算。

  • 进行交集运算时使用“&”符合
  • 进行并集运算时使用“|”符合
  • 进行差集运算时使用“-”符号

实例:

mr = set(['小明', '小红', '小白'])  # 学习数学的人
mr1 = set(['小明', '小红', '小聪'])  # 学习英语的人
print("出输出既学习数学,也学习英语的人有:", mr & mr1)
print("学习的人有:", mr | mr1)
print("只学习数学的人有:", mr - mr1)

运行以上代码,输出以下结果:

出输出既学习数学,也学习英语的人有: {'小明', '小红'}
学习的人有: {'小聪', '小明', '小红', '小白'}
只学习数学的人有: {'小白'}

举报

相关推荐

0 条评论