[ python ] 集合的使用
集合的使用
可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
集合的增删查
集合是没有改这种说法的:
(1)集合的元素无序的;
(2)集合的元素为不可变类型
增加
add 为集合新增一个元素
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.add('vivi') # 在集合中新增一个元素
print(set1)
# 执行结果:
# {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}
update 将字符串的每个元素作为独立的元素添加到集合中
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.update('abc') # 将字符串 abc 分别作为三个元素插入到集合中
print(set1)
# 执行结果:
# {'c', 'xiaofei', 'xixi', 'hkey', 'a', 'haha', 'b'}
删除
pop 随机删除,有返回值
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
print(set1.pop()) # 随机删除集合中的元素,并返回该元素
print(set1)
# 执行结果:
# hkey
# {'xiaofei', 'xixi', 'haha'}
remove 按元素删除
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.remove('haha') # 按照元素删除
print(set1)
# 执行结果:
# {'hkey', 'xixi', 'xiaofei'}
clear 清空列表
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.clear() # 清空整个集合
print(set1)
# 执行结果:
# set()
del 删除整个集合
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
del set1
集合没有修改:1. 无序的;2. 不可变类型
查找
集合只能用 for 查看, 集合是可迭代序列
集合运算
集合运算功能包括:
1. 消除重复元素;
2. 关系测试
交集:& 和 并集:|
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1 & set2) # 计算交集
# 执行结果:
# {2, 3}
print(set1 | set2) # 计算并集
# 执行结果:
# {1, 2, 3, 4} # 集合中的元素是不可重复的
反交集: ^ 就是除了交集以外元素的集合
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1 ^ set2) # 反交集
# 执行结果:
# {1, 4}
差集:- set1 - set2 : set1 而 set2 没有的元素的集合
set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7}
print(set1 - set2)
# 执行结果:
# {1}
frozenset() 将集合可变类型转换为不可变类型;
set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7}
s1 = frozenset(set1)
print(s1, type(s1))
# 执行结果:
# frozenset({1, 2, 3, 4}) <class 'frozenset'>
[ python ] 集合的使用的更多相关文章
- 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 ...
随机推荐
- 用户缓冲式I/O
2018-08-05 (星期日)缓冲式I/O 所有磁盘操作都是按照块来进行的,因此,若所送出的I/O请求,其对齐块便捷为实际块大小的整数倍,则可以优化I/O的性能. 读取操作需要进行的系统 ...
- 【BZOJ5333】荣誉称号(动态规划)
[BZOJ5333]荣誉称号(动态规划) 题面 BZOJ 洛谷 题解 今天早上贱狗老师讲的.然而我还是不会. 只好照着\(zsy\)代码大力理解一波. 首先观察等式,如果比较熟悉线段树,会发现就是线段 ...
- 【Aizu2292】Common Palindromes(回文树)
[Aizu2292]Common Palindromes(回文树) 题面 Vjudge 神TMD日语 翻译: 给定两个字符串\(S,T\),询问\((i,j,k,l)\)这样的四元组个数 满足\(S[ ...
- OpenFlow 消息
消息类型 OpenFlow 的消息共分为三类: Controller-to-Switch 顾名思义,此类消息是由控制器主动发出 Features 用于获取交换机特性 Configuration 用于配 ...
- BZOJ4408 [Fjoi 2016]神秘数 【主席树】
题目链接 BZOJ4408 题解 假如我们已经求出一个集合所能凑出连续数的最大区间\([1,max]\),那么此时答案为\(max + 1\) 那么我们此时加入一个数\(x\),假若\(x > ...
- Asp.Net保存session的三种方法 (Dll文件更新导致session丢失的解决办法)
1. InProc模式(默认值):asp.net将session保存到当前进程中,这种方式最快,但是不能多台服务器共享session,且会话状态数据容易丢失. <sessionState mod ...
- Linux iptables:规则组成
<Linux iptables:规则原理和基础>介绍了iptables的四表五链,简单说就是不同的网络层数据包会经过哪几个挂载点,在每个挂载点可以在哪张表进行规则定义. 本篇沿着这个思路, ...
- 0-如何正确使用 Django的User Model
本篇主要讨论一下User Model的使用技巧. 注意, 由于Django 1.5之后user model带来了很大的变化, 本篇内容只针对django 1.5之后的版本. 1. 确定 User Mo ...
- CS46 C 枚举二分
给你n*2个数其中n个数是原数减去了X值的数.问你满足条件的X值和原来的n个数.注意X为正整数. X should be positive,没0的 思路很简单,一个数必定会对应一个数,那么枚举一个数和 ...
- 关于jQuery UI 使用心得及技巧
1 jQuery UI 有时你仅仅是为了实现一个渐变的动画效果而不得不把javascrip 重新学习一遍然后书写大量代码.直到jQuery的出现,让开发人员从一大堆繁琐的js代码中解脱,取而代之几行j ...