集合(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. K8s 集群安装(一)

    01,集群环境 三个节点   master node1 node2 IP 192.168.0.81 192.168.0.82 192.168.0.83 环境 centos 7 centos 7 cen ...

  2. java8 HashTable 原理

    HashTable原理 Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现.Hashtable中的方法是同步的,而HashMap方法(在 ...

  3. K8S 如何实现将git代码下拉到指定的容器路径中

    gitRepo 是 kubernetes Volume类型中的一种,gitRepo volume可以实现将git代码下拉到指定的容器路径中. 备注:实现此功能,Pod运行的节点都必需要安装git.换句 ...

  4. Deep Learning专栏--强化学习之MDP、Bellman方程(1)

    本文主要介绍强化学习的一些基本概念:包括MDP.Bellman方程等, 并且讲述了如何从 MDP 过渡到 Reinforcement Learning. 1. 强化学习基本概念 这里还是放上David ...

  5. python--unittest测试框架

    unittest中最核心的四个概念是:test case, test suite, test runner, test fixture

  6. JavaIO学习:缓冲流

    缓冲流 1.缓冲流涉及到的类 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 2.作用 提升流的读取.写入 ...

  7. WPF 精修篇 移动TranslateTransform

    原文:WPF 精修篇 移动TranslateTransform 移动 TranslateTransform X 移动X轴 Y 移动Y轴 <StackPanel Orientation=" ...

  8. ASP.NET MVC+Easyui 后台管理系统的图片上传

    实现图片的上传 easyui代码部分: //添加按钮 var URL; $("#btnCreate").click(function () { $('#UserDialog').d ...

  9. jQuery实现C#CheckBoxList模糊搜索

    前言 最近开发的一套系统中需要对商品进行管理,在选择商品时,要分别从品牌.型号.商品三个类别分别选择对应的选项才能找到需要的商品,三者的关系为:品牌包含型号,型号包含商品,因此使用了三个不同的 asp ...

  10. 一种优化操作list、数组的多线程解决方案。

    这几天接触到了一些操作list的功能,由于list太长,加上每条数据的处理时间,导致性能下降,正好利用学来的多线程知识和网上的资料结合实践一番,写出了一个通用类如下. /** * 操作数组的线程 * ...