python基础之七:set 集合
集合(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 集合的更多相关文章
- 『Python基础-11』集合 (set)
# 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
- Python基础篇(set集合)
Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...
- python基础之七种运算符
废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...
- 3.python基础补充(集合,collection系列,深浅拷贝)
一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...
- Python基础数据类型之集合以及其他和深浅copy
一.基础数据类型汇总补充 list 在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...
- Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写
字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum 是否是汉字 ...
- Python 全栈开发二 python基础 字符串 字典 集合
一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...
- Python基础 之 set集合 与 字符串格式化
数据类型的回顾与总结 可变与不可变1.可变:列表,字典2.不可变:字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元祖3.映射:字典 存放元素个数:容器类型:列表,元祖,字 ...
随机推荐
- OAuth2.0 自我领悟
grant_type 授权模式 authorization_code 标准的Server授权模式,授权码模式 password 基于用户密码的授权模式,用户密码模式 client_credential ...
- python运维开发常用模块(三)DNS处理模块dnspython
1.dnspython模块介绍: dnspython(http://www.dnspython.org/)是Python实现的一个DNS 工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新 ...
- 微软 Azure DevOps Server 2019 Update 1 (TFS 2019.1)
1.概述 微软在2019年5月发布Azure DevOps Server 2019后不到2个月的时间里,就快速准备好了第一个升级包(2019 Update 1),并计划在几周后发布正式版本.也许你还没 ...
- Laravel关联模型中has和with区别
本篇文章给大家带来的内容是关于Laravel关联模型中has和with区别(详细介绍),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 首先看代码: 1 2 3 4 5 6 $user ...
- js 实现 promise
本文仅用于个人技术记录,如误导他人,概不负责. 本文有参考其他文章,不过地址忘了~~~. ======================================================= ...
- 关于 AutoResetEvent 的介绍的简单示例
关于 AutoResetEvent 的介绍的简单示例 直接贴代码了: class Program { static void Main(string[] args) { string result = ...
- spring-session(一)揭秘续篇
上一篇文章中介绍了Spring-Session的核心原理,Filter,Session,Repository等等,传送门:spring-session(一)揭秘. 这篇继上一篇的原理逐渐深入Sprin ...
- layui 在页面弹出小窗口,并关闭
function showdialog() { layer.open({ type: 2, title: '发起调度', shadeClose: true, shade: 0.8, area: [ ...
- TCP 协议 精解
http://www.cnblogs.com/sunev/archive/2012/06/23/2559389.html
- php-fpm解读-进程管理的三种模式
php-fpm进程管理一共有三种模式:ondemand.static.dynamic,我们可以在同一个fpm的master配置三种模式,看下图1.php-fpm的工作模式和nginx类似,都是一个ma ...