python中集合的特点和注意点?

如题所述

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) 

    >>> numbers = {1, 2, 3, 5, 7} 

    >>> len(numbers) 

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-24
集合的特点:
1.不同元素组成(元素不能重复)
2.无序(集合元素的顺序和定义、添加的顺序不一致)
3.集合中的元素必须是不可变类型

集合的注意点:
1.定义一个集合,如果直接写my_set = {},不添加数据,python解释器会把my_set作为字典处理
2.可以在集合中做添加相同元素的操作,但是集合只存储一个
如果想深入了解可以搜索黑马程序员视频库,里面有很多免费的软件测试教程本回答被提问者和网友采纳

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、特点:集合中的元素具有无序性。即集合中的元素之间没有固定的顺序,它们是以任意方式排列的。集合中的元素具有不重复性。集合中的每个元素都是唯一的,不能重复出现。集合的长度是可变的。集合中的元素可以增加、删除或修改,集合的长度会随之变化。集合中不可以存储基本数据类型...

相似回答