Python集合(set)
Python中的集合同数学中的集合概念类似,也是用于保存不重复的元素。他有可变集合(set),和不可变集合(frozenset);可变集合(set)是无序的可变的。
创建集合
直接使用{}创建
setname = {"elment1", "element2", "element3"}
setname:集合名称
element:表示集合中的元素,个数没有限制,只要是Python支持的数据类型就可以
示例代码:
set1 = {"zhang", "li", "wang"}
set2 = {1, 2, 3}
set3 = {"张三", 18, 18, ("hello", "world")}
print(set1)
print(set2)
print(set3)
执行结果:
{'li', 'zhang', 'wang'}
{1, 2, 3}
{18, '张三', ('hello', 'world')}
注意:set中重复的元素Python只会保留一个(如我们上面创建的set3)
使用set()函数创建:
setname = set(iteration)
setname:表示集合的名字
iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等,也可以是字符串。如果是字符串,返回的集合将是包含全部不重复的集合。
示例代码:
set1 = set("zhang,wang")
set2 = set([1, 2, 3])
set3 = set(('hello', 'world'))
print(set1)
print(set2)
print(set3)
执行结果:
{'a', 'n', 'z', 'h', ',', 'w', 'g'}
{1, 2, 3}
{'hello', 'world'}
集合的添加和删除
setname.add(elment)
示例代码:
set1 = set(['hello', 'world'])
set1.add('你好世界')
print(set1)
执行结果:
{'hello', 'world', '你好世界'}
从集合中删除元素
集合中也可以使用
del命令删除整个集合,也可以使用pop()方法或者remove()方法删除一个元素,或者使用集合对象的```clear()方法清空集合,即删除集合中的全部元素,使其变为空集合。
示例代码:
try:
set1 = set(['hello', 'world', 1, 2, 3])
set1.remove(1)
print(set1)
set1.pop() # 删除一个元素默认第一个
print(set1)
set1.clear()
print(set1)
except KeyError:
print('未找到对应的key')
执行结果:
{2, 3, 'world', 'hello'}
{3, 'world', 'hello'}
set()
集合的交集、并集和差集运算
示例代码:
python = set(['张三', '李四', '王二'])
c = set(['小明', '张三'])
print('学Python的同学有:', python)
print('学c的同学有:', c)
print('交集运算:', python & c) # 既学Python又学c的同学
print('并集运算:', python | c) # 输出全部同学名字
print('差集运算:', python - c) # 输出只选了Python没选c的同学
执行结果:
学Python的同学有: {'李四', '王二', '张三'}
学c的同学有: {'张三', '小明'}
交集运算: {'张三'}
并集运算: {'张三', '李四', '王二', '小明'}
差集运算: {'李四', '王二'}
Python集合(set)的更多相关文章
- Python 集合set添加删除、交集、并集、集合操作符号
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...
- [转]python集合set
Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...
- python集合使用范例的代码
在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- Python 集合set()添加删除、交集、并集、集合操作详解
集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...
- python集合可以进行相减
python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...
- Python集合类型的操作与应用
Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...
- Python - 集合 - 第十一天
Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...
- python集合set,交集,并集,差集,对称差集,子集和超集
python集合set,交集,并集,差集,对称差集,子集和超集 x = {1, 2, 3, 4} y = {2, 4, 5, 6} # 交集(取x中与y中相同部分) print(x.intersect ...
随机推荐
- vue使用tips记录
用vue已经很久啦,这里记录一下一些我觉得比较实用的小tips:
- iTOP-4418开发板Ubuntu系统烧写方法分享
开发平台:迅为iTOP-4418开发板 系统:Ubuntu 1. TF卡读写速度测试 烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的卡都无法烧写 Ubuntu,下面提供一种 相对 ...
- sonar的安装以及使用
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 1. 简介 1. sonar是什么 Sonar是一个用于代码质 ...
- C/C++中 # 的神奇作用:把宏参数字符串化/贴合宏参数
一.一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. #define STR(s) #s #define CONS(a,b) int(a##e##b) printf(ST ...
- Java类锁和对象锁
一.类锁和对象锁 二.使用注意 三.参考资料 一.类锁和对象锁 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class) 对象锁:在代码 ...
- 【转】Python之mmap内存映射模块(大文本处理)说明
[转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力 ...
- 【转】python之配置日志的几种方式
[转]python之配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用 ...
- 在windows下用vagrant建立lnmp开发环境
1.安装vagrant,vitrualbox 2.下载homestead的box包,并添加到vagrant 下载地址: https://atlas.hashicorp.com/laravel/boxe ...
- cu命令
选项: -b:仅显示行中指定直接范围的内容: -c:仅显示行中指定范围的字符: -d:指定字段的分隔符,默认的字段分隔符为“TAB”: -f:显示指定字段的内容: -n:与“-b”选项连用,不分割多字 ...
- Entity framework中LINQ的使用
一.linq和ef的差别 我们做项目时,难免会遇到用的不知道是啥,及把linq和EF搞混了.今天我带领大家梳理下思路,首先说linq查询,然后介绍EF查询 1.linq查询 当我们使用linq查询时, ...