@

今日内容

  • 集合(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. Qt之生成pdf(转)

    Qt中如何让图片.文本.HTML或者其他形式的内容生成pdf呢?主要利用QPrinter来实现,QPrinter不止可以操作打印机来打印纸张文件,并且可以将文件保存至磁盘,存储为pdf格式的文件.   ...

  2. ceph修复osd为down的情况

    尝试一.直接重新激活所有osd 1.查看osd树 root@ceph01:~# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-A ...

  3. vs2015发布网站至azure web应用服务

    进入www.azure.cn管理门户 1,左下角新建web应用,实例如下,url设置为demo(有防止重名判断) 2,进入demo配置页(左侧web应用下点击demo) 3,demo首页,下载配置文件 ...

  4. 前端实用软件: Markdown工具之---Typora实用技巧(总结)

    Typora是一款超简洁的markdown编辑器,具有如下特点: 完全免费,目前已支持中文 跨平台,支持windows,mac,linux 支持数学公式输入,图片插入 极其简洁,无多余功能 界面所见即 ...

  5. JS 封装的结构关系

    /* -- 封装 -- */var _packaging = function() { //私有属性和方法 var age = "12"; var method1 = functi ...

  6. (转)走进AngularJs(六) 服务

    原文地址:http://www.cnblogs.com/lvdabao/p/3464015.html 今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录 ...

  7. config的配置文件

  8. Discuz!和jQuery冲突的解决办法

    Common.js是官方自带的,我没改过它,所以不可能出错,所以问题就应该是两者冲突了.导致的结果我也发现了,前台的DIY功能不能用了.   我还花了很多时间在那里研究冲突的地方,后来还是没能解决.之 ...

  9. C#高级特性:动态绑定

    C#高级特性:动态绑定 动态绑定 动态绑定将类型绑定(类型解析.成员和操作过程)从编译时推迟到了运行时.在编译时,如果程序员知道某个特定函数.成员的存在而编译器不知道,那么这种操作是非常有用的,这种情 ...

  10. 【题解】 [NOI1999]生日蛋糕

    题面 传送门 Solution 搜索每一层的半径和高度,然后加入一些剪枝就好了. #include<stdio.h> #include<stdlib.h> #include&l ...