文档章节

python的6种基本数据类型--集合

o
 osc_x4h57ch8
发布于 2018/04/24 10:59
字数 365
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

#特征 1.确定性(元素必须可hash) 2.互异性(去重) 3.无序性(集合中的元素没有顺序,先后之分)

>>> s = {1,1,1,2,2,3,4,5,6,7}    # 创建
>>> s
{1, 2, 3, 4, 5, 6, 7}
>>> s.add(2)                    # 添加,重复添加也添加不上
>>> s.add(22)
>>> s
{1, 2, 3, 4, 5, 6, 7, 22}
>>> s.update([11,33,44])        # 添加批量元素
>>> s
{1, 2, 3, 4, 5, 6, 7, 33, 11, 44, 22}
>>> s.discard(7)                # 删除指定元素
>>> s.pop()                        # 删除随机元素,pop()没有参数
1
>>> s.pop(2)
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    s.pop(2)
TypeError: pop() takes no arguments (1 given)
>>> s.clear()                    # 清空集合
>>> s
set()
>>> s.add(1)
>>> s.copy()                    # 复制
{1}
>>> s.update([11,33,44])
>>> s
{1, 11, 44, 33}
>>> s.copy()
{1, 11, 44, 33}
>>> s.add([12,13,14])            # 不能添加非 hash 元素
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    s.add([12,13,14])
TypeError: unhashable type: 'list'
>>>

集合关系测试

>>> stu1 = {'python','linux','html','mysql'}
>>> stu2 = {'linux','python','go','css','javascript'}
>>> stu1.intersection(stu2)            # 交集,两个集合都有的
{'python', 'linux'}
>>> stu1 & stu2
{'python', 'linux'}
>>> stu1.difference(stu2)            # 差集,除了都有的,比后者不同的部分就是差集
{'mysql', 'html'}
>>> stu1 - stu2                        # 相同的,负的都去掉,剩下的是差集
{'mysql', 'html'}
>>> stu2 - stu1                        # 前者不同于后者的部分
{'javascript', 'go', 'css'}


>>> stu1.union(stu2)                # 并集,合并两者所有的
{'linux', 'javascript', 'html', 'mysql', 'python', 'go', 'css'}
>>> stu2 | stu1
{'linux', 'javascript', 'python', 'go', 'css', 'html', 'mysql'}


>>> stu1.symmetric_difference(stu2)            # 对称差集,并集去掉交集
{'javascript', 'go', 'css', 'html', 'mysql'}
>>> stu2 ^ stu1
{'javascript', 'html', 'mysql', 'go', 'css'}


>>> stu1.difference_update(stu2)                # 将差集,赋给 stu1     同理交集也可以
>>> stu1
{'html', 'mysql'}

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

es集群笔记

es 集群的默认配置是当集群中的某个节点磁盘达到使用率为 85% 的时候, 就不会在该节点进行创建副本, 当磁盘使用率达到 90% 的时候, 尝试将该节点的副本重分配到其他节点. 当磁盘使用率达到 ...

gaolongquan
6分钟前
4
0
VS Code编写Vue过程中出现空格不规范报错的问题

报错内容: 解决办法: 1.注释或删除这些代码 注释掉之后(重启vue服务),再进行编写的时候,空格不规范的情况下就不会再报错了。 2.如果没在webpack.dev.conf.js文件中找到注释代码就在webpack...

安然_oschina
9分钟前
0
0
域名防封_域名防红_微信域名防拦截

最近微信开始大封杀,不知道原因是什么,可能是因为违规网站太多了吧,很多网站都被错杀了,下面我们聊一下怎样才能避免域名被封杀呢。 在各种不同的域名当中,能够做出了更适合的选择,这些...

戚馨逸
13分钟前
13
0
数据结构(六)——循环链表

一、循序链表简介 1、循环链表的定义 循环链表的任意元素都有一个前驱和一个后继,所有数据元素在关系上构成逻辑上的环。 循环链表是一种特殊的单链表,尾结点的指针指向首结点的地址。 循环...

rainbowcode
16分钟前
13
0
六边形寻路格子绘制

using System.Collections;using System.Collections.Generic;using UnityEngine;public class AdventureIsland : MonoBehaviour{ static AdventureIsland instante; pu......

江湖令
17分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部