@

今日内容

  • 集合(set)

具体内容

1.集合含义

  • 一个无序的不重复元素序列。

  • 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  • 空集合:set()

  • 基本格式

    a = {1,2,3,4,5,6}
    parame = {value01,value02,...}
    # 或者
    set(value01,value02,...)

2.独有方法

  • "add()" ,添加:所添加值没有原值输出、新值增加

    info = {"name",'li','age',18,'gender','男',}
    info.add(11)
    print(info)       # {'li', 11, 18, '男', 'gender', 'age', 'name'}
  • ​"discard()" ,删除:所删除值没有原值输出、不会报错

    info = {"name",'li','age',18,'gender','男',}
    info.discard(18)
    print(info)       #{'男', 'li', 'name', 'age', 'gender'}键
  • "update()" ,批量添加。

info = {"name",'li','age',18,'gender','男',}
del info['gender']
print(info)   # {'name': 'li', 'age': 18}
  • "intersection()" ,交集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.intersection({1,'li','男'})
    print(result) # {'li', '男'}
  • "union()" ,并集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.union({1,'li','男'})
    print(result) # {'gender', 1, '男', 18, 'name', 'age', 'li'}
  • "difference()" ,差集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.difference({1,'li','男'})
    print(result) # {'name', 18, 'age', 'gender'}
  • "symmetric_difference()" ,对称差集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.symmetric_difference({1,'li','男'})
    print(result) # {1, 'name', 'gender', 18, 'age'}

3.公共方法

  • len

    info = {"name",'li','age',18,'gender','男',}
    print(len(info))  # 6
  • for 循环

    info = {"name",'li','age',18,'gender','男',}
    for a in info:
        print(a)  # 循环打印出所有元素

4.特殊情况

  • 1、集合与列表取交集

    info = {"name",'li','age',18,'gender','男',}
    result = info.intersection([1,'li','男'])
    print(result) # {'li', '男'}   # {'li', '男'}
  • 2.集合中出现0与False(谁在前输出谁)

    info = {0, 2, 3, 4, False, "国风", None, (1, 2, 3)}
    print(info)       # {0, '国风', 2, 3, 4, None, (1, 2, 3)}
  • 3.字典中1与Ture同时为键(谁在前把后面值赋给前面的键)

    info = {
        1:'alex',
        True:'oldboy'
    }
    print(info)       # {1: 'oldboy'}

5.总结

    1. 列表/字典/集合 -> 不能放在集合中+不能作为字典的key(unhashable)
    2. hash(哈希):因为在内部会将值进行哈希算法并得到一个数值(对应内存地址),以后用于快速查找。

分分钟钟学会Python - 数据类型(set)的更多相关文章

  1. 分分钟钟学会Python - 数据类型(list、tuple)

    第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长 ...

  2. 分分钟钟学会Python - 数据类型(int、bool、str)

    第三天学习内容 今日内容 1.整型(int) 2.布尔类型(bool) 3.字符串(str) 内容详细 1.整型 Python中的整型用int表示. 1.python2中: 在32位机器上,整数的位数 ...

  3. 分分钟钟学会Python - 数据类型(dict)

    今日内容 字典(dict) 具体内容 1.字典含义 帮助用户去表示一个事物的信息(事物是有多个属性). 基本格式 data = {键:值,键:值,键:值,键:值,键:值,键:值,} # 练习题 use ...

  4. 分分钟钟学会Python - 基础

    1.常见操作系统 1.windows xp/win7/win/10/window server 2.linux centos,图形化界面差 ubuntu,个人开发(图形化比较好) redhat,企业级 ...

  5. 分分钟钟学会Python - 模块

    目录 模块 1 模块基础知识 2 random 返回随机生成的一个实数 3 hashlib 摘要算法模块 Hmac算法 4 time /datetime 时间模块 5 getpass 密码不显示(只能 ...

  6. 分分钟钟学会Python - 函数(function)

    函数(function) 1 基本结构 本质:将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方 ...

  7. 分分钟钟学会Python -基础&运算符

    day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...

  8. 分分钟钟学会Python - 解释器安装

    1.解释器安装 1. 下载解释器 python 2.7.16 (2020年官方不在维护) python 3.6.8 (推荐) 2.安装 python 3.6.8 安装位置随意,自己能找到了就行. 安装 ...

  9. 分分钟钟学会Python - 文件操作

    文件操作 1 文件基本操作 obj = open('路径',mode='模式',encoding='编码') obj.write() # 写入 obj.read() # 读取 obj.close() ...

随机推荐

  1. MySQL的四种外键

    来自:某一位网友的博客    转自:http://blog.csdn.net/cnjsnt_s/article/details/5548280 具体使用时需要参考:http://blog.csdn.n ...

  2. Discuz核心函数的解析

    dz采用的是多入口的方式,在每个入口函数你能看到引用,启动核心类的语句(其余省略),如下: require './source/class/class_core.php'; C::app()-> ...

  3. C# JackLib系列之自定义鼠标风格的实现

    在我们开发的过程中,有时需要我们来自定义鼠标的形状和大小,刚巧前一阵子正好用到了这个技术,找了好多资料,基本上都是黑白色的鼠标风格实现,而我要的则是自定义大小和彩色风格的光标样式.百度上的资源又太少, ...

  4. Split 之特殊用法

    java中split()特殊符号"." "|" "*" "\" "]"   关于点的问题是用stri ...

  5. MFC学习(三):项目学习

    1. 概述 MFC程序由CWinApp.MainFrm(含Menu,可用CSplitterWndEx分割).众多Dialog等组成. MFC既可以使用纯Dialog的形式,也可以使用Document+ ...

  6. asp.net mvc项目创建WebApi简单例子

    1.创建默认路由的映射. namespace RedisDemo.App_Start { public class WebApiConfig { public static void Register ...

  7. HAOI2010 工厂选址

    题目链接:戳我 数组开小火葬场qwqwq 就是一个贪心吧.对于一个数,我们知道只有两种摆放方式.所以我们可以先都放到新的里面,然后做一下新的-原先的差,按照差从大到小排序,依次提取数值减去即可. 代码 ...

  8. 状压DP学习笔记

    有的时候,我们会发现一些问题的状态很难直接用几个数表示,这个时候我们就会用到状压dp啦~~. 状压就是状态压缩,就是讲原本复杂难以描述的状态用一个数或者几个数来表示qwq.状态压缩是一个很常用的技巧, ...

  9. win7 下 vim字体默认设置

    set guifont=Consolas 在_vimrc开头第一行写上就行了

  10. [转]解读Unity中的CG编写Shader系列9——镜面反射

    讨论完漫反射之后,接下来肯定就是镜面反射了在开始镜面反射shader的coding之前,要扩充一下前面提到的知识,加深理解镜面反射与漫反射的区别.注:这篇文章实现的镜面反射是逐顶点着色(per-ver ...