1、集合概念
Python中的集合,是一个无序的、没有重复项的集。它支持数学概念上的集合操作,如交集、并集、补集和差集。集合是可变的,可以在其中添加或删除项。集合用花括号“{}”括起来,并用逗号“,”来分隔其中的项。
2、创建集合
可以使用花括号“{}”创建集合,集合会自动去除重复的项。下面的集合包含了几种用字符串表示的水果:
>>> # 创建fruits集合时,'apple'出现了两次
>>> fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'}
>>> fruits # 查看fruits集合,'apple'只有保留了一个
{'apple', 'strawberry', 'banana', 'watermelon'}
与列表、元组、字典一样,集合也可以用工厂函数set()来创建。set()函数的参数要么为空,要么为可迭代对象(如列表、元组和字符串):
>>> fruits = set(['apple', 'banana', 'watermelon', 'strawberry', 'apple']) # 以列表为参数创建集合
>>> fruits
{'apple', 'strawberry', 'banana', 'watermelon'}
>>> numbers = set((1, 2, 3, 3, 2, 4)) # 以元组为参数创建集合
>>> numbers
{1, 2, 3, 4}
>>> letters = set('banana') # 以字符串为参数创建集合
>>> letters
{'b', 'a', 'n'}
如果想要创建一个空集合,那么使用空的花括号“{}”是行不通的,因为这样创建的是一个空字典:
>>> empty = {}
>>> empty
{}
>>> type(empty)
<class 'dict'>
创建空集合的唯一方式就是使用不包含任何参数的set()函数:
>>> empty = set()
>>> empty # 空集合表示为set()
set()
>>> type(empty)
<class 'set'>
3、集合添加项
集合是可变的数据类型,在创建集合之后,可以使用集合的add()方法向其添加项:
>>> numbers = {1, 2, 3}
>>> numbers.add(4) # 向numbers集合中添加整数4
>>> numbers
{1, 2, 3, 4}
>>> numbers.add('five') # 向numbers集合中添加字符串'five'
>>> numbers
{1, 2, 3, 4, 'five'}
>>> numbers.add((5, 6, 7)) # 向numbers集合中添加元组(5, 6, 7)
>>> numbers
{1, 2, 3, 4, (5, 6, 7), 'five'}
如果向某个集合中添加已经存在的项,那么什么也不会发生:
>>> fruits = {'apple', 'strawberry', 'banana', 'watermelon'}
>>> fruits
{'banana', 'apple', 'watermelon', 'strawberry'}
>>> fruits.add('apple') # 添加已经存在的项'apple'
>>> fruits # fruits集合并没有改变
{'banana', 'apple', 'watermelon', 'strawberry'}
也可以使用集合的update()方法向集合中添加项,参数必须是可迭代对象,如列表、字符串或另一个集合。类似于列表的append()方法和extend()方法,但区别是集合的update()方法总是会将可迭代对象“展开”:
>>> numbers = {1}
>>> numbers
{1}
>>> numbers.update((5, 6, 7))
>>> numbers # 可以看出update()方法和add()方法的区别
{1, 5, 6, 7}
>>> numbers.update({4, 5}, {6, 7, 8}) # 参数为两个集合
>>> numbers
{1, 4, 5, 6, 7, 8}
4、集合删除项
可以使用集合的remove()方法删除某个集合中的指定项:
>>> numbers = {1, 2, 3, 5, 7}
>>> numbers.remove(1)
>>> numbers
{2, 3, 5, 7}
>>> numbers.remove(3)
>>> numbers
{2, 5, 7}
如果试图删除集合中不存在的项,那么Python解释器会报错:
>>> numbers = {1, 2, 3, 5, 7}
>>> numbers.remove(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 4
还可以使用集合的discard()方法来删除项,它和remove()方法唯一的区别是,当试图删除不存在的项时,discard()方法并不会报错,而是什么也不会发生:
>>> numbers = {1, 2, 3, 5, 7}
>>> numbers.discard(1)
>>> numbers
{2, 3, 5, 7}
>>> numbers.discard(3)
>>> numbers
{2, 5, 7}
>>> numbers.discard(4)
>>> numbers # 什么也没发生
{2, 5, 7}
5、检查某个项是否在集合中
集合的in操作符用于检查指定项是否在集合中,not in操作符用于检查指定项是否不在集合中:
>>> numbers = {1, 2, 3, 5, 7}
>>> 1 in numbers # 1在numbers集合中,返回True
True
>>> 3 in numbers # 3在numbers集合中,返回True
True
>>> 4 in numbers # 4不在numbers集合中,返回False
False
>>> 4 not in numbers # not in是in的反向操作
True
6、查看集合的长度
集合的内建函数len()用于查看集合的长度,即集合中项的个数:
>>> empty = set()
>>> len(empty)
0
>>> numbers = {1, 2, 3, 5, 7}
>>> len(numbers)
5
python中集合的特点和注意点?
Python中的集合,是一个无序的、没有重复项的集。它支持数学概念上的集合操作,如交集、并集、补集和差集。集合是可变的,可以在其中添加或删除项。集合用花括号“{}”括起来,并用逗号“,”来分隔其中的项。2、创建集合 可以使用花括号“{}”创建集合,集合会自动去除重复的项。下面的集合包含了几...
python集合中的元素不允许重复吗
1. 集合的基本特性:集合是一种数据结构,其中的元素是不重复的。这意味着如果你尝试将一个已经存在于集合中的元素再次添加,集合不会接受这个重复的元素。这一特性有助于我们快速检查元素的唯一性。2. 集合的操作:在Python中,你可以使用集合来进行各种操作,如添加元素、删除元素、检查元素是否存在等。
python中的集合有什么特性?
集合的特征是:确定性、互异性、无序性。1、确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。2、互异性:集合中的元素互不相同。3、无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。Python集合与数学中的集合概念一致,也具备以上3个特性。Python要求放入集合中...
python集合的特点
1、无序不重复:集合是一种无序的数据结构,其中的元素是唯一且不可重复的。表示可以将多个元素添加到集合中,但最终只会保留一个副本。2、可变性:集合是可变对象,表示可以向集合中添加、删除或修改元素。可以使用方法如add()、remove()和discard()来操作集合。3、不支持索引操作:由于集合是无序的...
一文带你了解Python集合与基本的集合运算
在效率方面,集合快速去除列表重复值的能力尤为突出。集合运算包括并集、交集、差集和对称差,Python提供了union、intersection、difference和symmetric_difference方法,以及相应的运算符。集合推导式提供了一种简洁的数学表达式构造方式。成员检测是集合的一个强大功能,它在Python中的执行速度远超列表。最后,子集...
Python 简明教程 ---13,Python 集合
Python 集合 有如下特点:Python 集合的声明有两种方式:创建 空集合 时,只能用 set() ,而不能用 {} :创建 非空集合 时,可以用 set() ,也可以用 {} :由于集合中的元素是唯一的,如果初始化时的 可迭代 数据中有重复的元素,则会自动删去重复的元素:使用 len() 函数可以查看集合中...
Python集合操作全攻略(Set),你值得拥有!
集合(Set),它是一个无序、不重复的数据集合。也就是说,集合中的元素是唯一的。集合中的元素可以是任何类型,包括数字、字符串、列表、字典等。集合具有快速查找和删除元素的特性,并且可以进行交集、并集、差集等常见的集合操作。集合同样使用大括号{},但是集合必须使用 set() 函数来创建一个集合。
python中集合的元素可以是列表吗
集合的特点:无序,数据可变,数据不可重复,数据类型可不同,不可嵌套。集合最好的应用是去重和关系操作(交集、并集等)。集合没有特殊的表示方法,而是通过一个set函数转换成集合。所以,集合的元素不可以是列表。
pythonlist与set的区别
1. 集合(Set)是无序的,且成员元素是不重复的。它们是可变的,但集合中的元素必须是不可变的,例如整数、浮点数和字符串。2. 列表(List)是Python中的一个核心数据结构,经常用作函数返回值。列表是有序的,可以包含重复的元素,并且列表中的元素可以是任何数据类型,包括其他列表。3. 集合和列表...
集合的特点和基本功能
集合的特点主要如下:1、特点:集合中的元素具有无序性。即集合中的元素之间没有固定的顺序,它们是以任意方式排列的。集合中的元素具有不重复性。集合中的每个元素都是唯一的,不能重复出现。集合的长度是可变的。集合中的元素可以增加、删除或修改,集合的长度会随之变化。集合中不可以存储基本数据类型...