您的位置:首页 > 科技 > IT业 > 成人自考本科要几年_建筑网课平台哪个好_制造业中小微企业_衡阳seo外包

成人自考本科要几年_建筑网课平台哪个好_制造业中小微企业_衡阳seo外包

2024/12/23 1:04:58 来源:https://blog.csdn.net/u022812849/article/details/144271714  浏览:    关键词:成人自考本科要几年_建筑网课平台哪个好_制造业中小微企业_衡阳seo外包
成人自考本科要几年_建筑网课平台哪个好_制造业中小微企业_衡阳seo外包

在Python中,集合(set)是一种内置的数据结构,用于存储唯一的元素。集合是一个无序的、不包含重复元素的数据集合。它主要用于成员资格测试、消除重复元素以及数学上的集合操作(如并集、交集、差集等)。

创建集合

可以使用花括号{}或者set()函数来创建一个集合。

使用花括号{}创建一个集合:

>>> my_set = {1 ,2 ,3, 4}>>> my_set
{1, 2, 3, 4}

使用set()函数来创建一个集合:

>>> my_set_2 = set([1, 2, 3, 4])>>> my_set_2
{1, 2, 3, 4}

注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。

使用花括号创建集合时,如果花括号内包含的是可哈希的、且唯一的元素(如数字、字符串、元组),则创建的是集合。如果包含的是列表等可变对象,则会报错。

>>> {[1, 2, 3, 4], "hello", 12}
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

使用set()函数可以将任何可迭代对象(如列表、元组、字符串等)转换为集合,同时去除其中的重复元素。

>>> set("Morris 18845398990")
{'M', '1', '8', '4', 'r', ' ', '3', '9', '0', 'i', 'o', 's', '5'}>>> set([1, 2 ,3 ,4])
{1, 2, 3, 4}>>> set((1, 2 ,3 ,4))
{1, 2, 3, 4}

集合的基本操作

添加元素

>>> my_set
{1, 2, 3, 4}# 添加元素5,成功
>>> my_set.add(5)>>> my_set
{1, 2, 3, 4, 5}# 再次添加元素5,不成功
>>> my_set.add(5)>>> my_set
{1, 2, 3, 4, 5}

删除元素

set.remove(item):移除元素item,如果元素不存在则报错

>>> my_set.remove(3)>>> my_set.remove(3)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 3

set.discard(item):移除元素item,如果元素不存在则不报错

>>> my_set.discard(4)>>> my_set.discard(4)>>> my_set
{1, 2, 5}

set.pop():随机移除一个元素并返回它

>>> my_set.pop()
1

清空集合

>>> my_set
{2, 5}# 清空集合
>>> my_set.clear()>>> my_set
set()

检查元素是否存在

>>> my_set = {1, 2, 3, 4}# 检查元素2是否在集合中
>>> 2 in my_set
True# 检查元素5是否在集合中
>>> 5 in my_set
False

集合的数学操作

并集

>>> {1, 2, 3} | {3, 4, 5}
{1, 2, 3, 4, 5}>>> {1, 2, 3}.union({3, 4, 5})
{1, 2, 3, 4, 5}

交集

>>> {1, 2, 3} & {3, 4, 5}
{3}>>> {1, 2, 3}.intersection({3, 4, 5})
{3}

差集

>>> {1, 2, 3} - {3, 4, 5}
{1, 2}>>> {1, 2, 3}.difference({3, 4, 5})
{1, 2}

对称差集

>>> {1, 2, 3} ^ {3, 4, 5}
{1, 2, 4, 5}>>> {1, 2, 3}.symmetric_difference({3, 4, 5})
{1, 2, 4, 5}

集合的迭代

集合中的元素是无序的,因此可以通过循环来迭代集合中的元素:

>>> for s in {1, 2, 3, 4}:
...     print(s)
...
1
2
3
4

集合的常用方法

copy():拷贝一个集合

>>> my_set
{1, 2, 3, 4}>>> my_set.copy()
{1, 2, 3, 4}

difference_update(set):方法用于移除两个集合中都存在的元素。difference_update()方法与difference()方法的区别在于difference()方法返回一个移除相同元素的新集合,而difference_update()方法是直接在原来的集合中移除元素,没有返回值。

>>> my_set
{1, 2, 3, 4}>>> my_set.difference_update({2, 4, 6})>>> my_set
{1, 3}

intersection_update():用于获取两个或更多集合中都重叠的元素,即计算交集。intersection_update()方法不同于 intersection()方法,因为intersection()方法是返回一个新的集合,而intersection_update()方法是在原始的集合上移除不重叠的元素。

>>> my_set = {1, 2, 3, 4}>>> my_set.intersection_update({2, 4, 6})>>> my_set
{2, 4}

symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

>>> my_set = {1, 2, 3, 4}>>> my_set.symmetric_difference_update({2, 4, 6})>>> my_set
{1, 3, 6}

isdisjoint():判断两个集合是否包含相同的元素,如果没有返回True,否则返回False。

>>> {1, 2, 3, 4}.isdisjoint({2, 4, 6})
False

issubset():判断指定集合是否为该方法参数集合的子集。

>>> {1, 2}.issubset({1, 2, 3, 4})
True

issuperset():判断该方法的参数集合是否为指定集合的子集。

>>> {1, 2, 3, 4}.issuperset({1, 2})
True

update():给集合添加元素

>>> my_set = {1, 2, 3, 4}>>> my_set.update({4, 5, 6})>>> my_set
{1, 2, 3, 4, 5, 6}

len():计算集合元素个数

>>> len(my_set)
6

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com