@

今日内容

  • 集合(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. STL中 set 和 multiset

    1. 所在头文件: <set>, 命名空间: std ; 声明如下: namespace std{ template <class T, class Compare = less&l ...

  2. R Markdown 速查表

  3. mysql 空间索引的使用

    CREATE TABLE tb_geo(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(128) NOT NULL,pnt POINT NOT NULL, ...

  4. POC索引

    最近在看窗口函数,接触到了POC索引,所以借此机会好好研究一下索引. 一般支持窗口函数的索引指南都遵循POC的概念,也就是Partitioning(分区).Ordering(排序)和Covering( ...

  5. C#开发重用方法

    获取类型先关信息 GetType()及typeof()

  6. SQl语句收藏

    /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...

  7. JAVA&JS debug

    JAVA Chrome Sources 如果当前代码所在文件页面为一界面 →                              →| -------------------------- ↓↑ ...

  8. 什么是 Java 内存模型,最初它是怎样被破坏的?(转载)

    活跃了将近三年的 JSR 133,近期发布了关于如何修复 Java 内存模型(Java Memory Model, JMM)的公开建议.原始 JMM 中有几个严重缺陷,这导致了一些难度高得惊人的概念语 ...

  9. C++ 动态分配二维和三维数组

    目的:熟悉c++动态内存分配 描述:使用c++程序定义动态数组类,使用new和delete操作符实现动态二维数组和三维数组的定义 //main.cpp //主程序类 #include <iost ...

  10. html中怎么样让div并排显示

    html中的div默认是流式显示,每个div会占用一整行 <html> <head> <meta http-equiv="Content-Type" ...