集合(set)是一个无序的不重复元素序列。只可以存储不可变类型数据,即可哈希的数据类型,
如:元组(tuple)、字符(str)、整型(int)、布尔型(bool)
  可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },
因为 { } 是用来创建一个空字典。

 set1 = set({1, 2, 3, 4})
set2 = {'wuhan', 'taibei', 'soul'}
print(type(set1))

  相关操作

 '''增'''
set1.add(4) # 无序插入,如果插入集合中有的元素,会去重!因为它是不重复的!
set1.add(5)
set1.update('Alpha') # 将字符串拆分后,分别无序插入集合中
print(set1) '''删'''
set1.pop() # 随机删除
set2.remove('wuhan') # 按元素删除
print(set2)
set1.clear() # 清空集合
print(set1)
del set1 # 删除集合
# print(set1) '''查'''
for i in set2: # 只能如此查询
print(i) '''交集'''
set1 = {1, 2, 3, 6, 8, 9}
set2 = {6, 8, 10, 12, 16}
set3 = set1 & set2
set4 = set1.intersection(set2)
print(set3, set4) '''反交集'''
set5 = set1 ^ set2
set6 = set1.symmetric_difference(set2)
print(set5, set6) '''并集'''
set7 = set1 | set2
set8 = set1.union(set2)
print(set7, set8) '''差集'''
set9 = set1 - set2 # set1独有的,即set2没有的
set10 = set1.difference(set2)
print(set9, set10) '''子集和超集'''
set1 = {6, 8, 10}
print('set1是不是set2的子集:{0}'.format(set1 < set2))
print('set1是不是set2的子集:{0}'.format(set1.issubset(set2)))
print('set2是不是set1的超集:{0}'.format(set2 > set1))
print('set2是不是set1的超集:{0}'.format(set2.issuperset(set1)))

  frozenset(冻结集合)可理解为只读的集合

 set0 = frozenset('abcde')  # 只能是一个可迭代的元素
set0 = frozenset([1,3,5,7,9]) # 只能是一个可迭代的元素
print(set0, type(set0))
# 只读即只能查询
for i in set0:
print(i)

 集合相关面试题:

  有列表如下:[1,22,33,22,44,55,22,22,88,22]请将该列表中重复的元素去除。

num_li = [1,22,33,22,44,55,22,22,88,22]

temp_set = set(num_li)

new_li = list(temp_set)

print(new_li) 

python基础之七:set 集合的更多相关文章

  1. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  2. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

  3. Python基础篇(set集合)

    Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...

  4. python基础之七种运算符

    废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...

  5. 3.python基础补充(集合,collection系列,深浅拷贝)

    一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...

  6. Python基础数据类型之集合以及其他和深浅copy

    一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...

  7. Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写

    字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum  是否是汉字 ...

  8. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  9. Python基础 之 set集合 与 字符串格式化

    数据类型的回顾与总结 可变与不可变1.可变:列表,字典2.不可变:字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元祖3.映射:字典 存放元素个数:容器类型:列表,元祖,字 ...

随机推荐

  1. OsharpNS轻量级.net core快速开发框架简明入门教程-多上下文配置(多个数据库的使用)

    OsharpNS轻量级.net core快速开发框架简明入门教程 教程目录 从零开始启动Osharp 1.1. 使用OsharpNS项目模板创建项目 1.2. 配置数据库连接串并启动项目 1.3. O ...

  2. 日均5亿查询量的京东订单中心,为什么舍MySQL用ES?

    阅读本文大概需要 8 分钟. 来源:京东技术订阅号(ID:jingdongjishu) 作者:张sir   京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调 ...

  3. [FY20 创新人才班 ASE] 第 1 次作业成绩

    作业概况 条目 备注 作业链接 [ASE高级软件工程]热身作业! 提交人数 19 未完成人数 2 满分 10分 作业情况总结 本次作业作为大家软工课程的第一次作业,完成度相当不错(尤其是在国外暑研/赶 ...

  4. debian系统配置

    使用腾讯docker源 sudo sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list sudo se ...

  5. 【转】ubuntu16.04安装Vivado 2017.4 教程

    ubuntu16.04安装Vivado 2017.4 教程 2017-12-28 20:59:48 wmyan 阅读数 11794   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协 ...

  6. Python 遍历目录下的子目录和文件

    import os A: 遍历目录下的子目录和文件 for root,dirs ,files in os.walk(path) root:要访问的路径名 dirs:遍历目录下的子目录 files:遍历 ...

  7. printf()的用法

    a 符号 作用 ——————————————————————————   %d 十进制有符号整数   %u 十进制无符号整数   %f 浮点数   %s 字符串   %c 单个字符   %p 指针的值 ...

  8. 【09】Jenkins:Pipeline 补充

    写在前面的话 我们在使用普通的构建任务的时候使用了 Sonar 做代码质量管理,也使用了 Publish Over SSH 插件中更新上线,但是我们在 Pipeline 怎么使用他们呢. 如果你没有查 ...

  9. [转] vue 自定义组件使用v-model

    <input v-model="something"> v-model指令其实是下面的语法糖包装而成: <input :value="something ...

  10. Java基础笔记之数据类型

    一.数据类型 (一)8种基本数据类型(内置数据类型\C#中为值类型) 字符长度:1byte = 8 bit; 布尔:可认为是 1byte (8 bit);