python利用集合的无重复性_python集合?
展开全部
*事先说明:以下代码及结果来自本设备Python控制台,在不同设备上可能32313133353236313431303231363533e59b9ee7ad9431333433643632结果有区别,望自己尝试为妙
集合(set),是一种Python里的类(class),
集合类似于列表(list),可更改,可迭代(iterable),但是元素不重复
定义集合使用花括号{},例如:
>>> s = {"apple", "banana", "strawberry", "watermelon"}
警告!!!如果使用空括号
>>> a = {}
>>> a.__class__
a将成为一个字典
想要定义空集合,
请使用类名。
>>> a = set()
类名定义也可以把迭代转换为集合:
>>> b = set("abc")
>>> b
{'a', 'b', 'c'}
但是,保存后它是无序的。
>>> s
{'banana', 'watermelon', 'strawberry', 'apple'}
(结果仅供参考,在不同设备上略有不同)
下面介绍它的性质:
1. 可更改:使用add(x)方法添加元素x:
>>> s.add("lemon")
>>> s
{'banana', 'strawberry', 'lemon', 'watermelon', 'apple'}使用update(iter1, iter2, …)方法添加多个可迭代对象(如列表,元组(tuple),另一个集合)里的元素:
>>> s.update(("orange", "grape"))
>>> s
{'banana', 'strawberry', 'orange', 'lemon', 'watermelon', 'apple', 'grape'}
警告!!!如果使用字符串,字符串也会被迭代:
>>> a = set()
>>> a.update("apple")
>>> a
{'a', 'p', 'e', 'l'}使用remove(x)移除元素x,如果x不存在,则抛出KeyError错误
>>> s.remove("lemon")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple', 'grape'}
>>> s.remove("cat")
Traceback (most recent call last):
File "", line 1, in
s.remove("cat")
KeyError: 'cat'使用discard(x)移除元素x,不会发生错误
>>> s.discard("grape")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
>>> s.discard("dog")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
2. 可迭代:
>>> for x in s:
... print(x)
banana
strawberry
orange
watermelon
apple
3. 可以使用 len 函数获取集合长度;
>>> len(s)
5
可以使用 in关键字检查一个元素是否在集合内,将返回逻辑值(bool):
>>> "apple" in s
True
>>> "candy" in s
False
4.集合具有不重复性,因此它会自动去重:
>>> c = set("Hello World!")
>>> c
{' ', 'e', 'l', 'H', '!', 'r', 'W', 'o', 'd'}
5. 集合的运算
>>> d = set("abcdef")
>>> e = set("efghij")
>>> d
{'c', 'e', 'a', 'b', 'f', 'd'}
>>> e
{'h', 'e', 'g', 'j', 'f', 'i'}
>>> d - e # 集合d去掉集合e含有的元素,或者说集合d包含而集合e不包含的元素(不改变原集合)
{'a', 'b', 'd', 'c'}
>>> d | e # 集合d,e的所有元素
{'c', 'e', 'h', 'g', 'a', 'b', 'j', 'f', 'd', 'i'}
>>> d & e # 集合d,e都包含的元素
{'f', 'e'}
>>> d ^ e # 不同时出现在集合d, e中的元素
{'c', 'g', 'h', 'a', 'b', 'j', 'd', 'i'}
注意!!!
字符串、列表通用的+和*不适用于集合
>>> "abc" + "def"
'abcdef'
>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> d + e
Traceback (most recent call last):
File "", line 1, in
d + e
TypeError: unsupported operand type(s) for +: 'set' and 'set'
>>> "a" * 5
'aaaaa'
>>> [1] * 3
[1, 1, 1]
>>> d*3
Traceback (most recent call last):
File "", line 1, in
d * 2
TypeError: unsupported operand type(s) for *: 'set' and 'int'
(作者的小观点:既然集合是不能重复的,那么乘以、重复是没有意义的)
python利用集合的无重复性_python集合?相关推荐
- python利用集合的无重复性_python集合类型用法分析
本文实例分析了python集合类型用法.分享给大家供大家参考.具体分析如下: python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括 ...
- python中集合比大小方法_Python集合17个方法详解
Python 中的集合类似于数学中的集合概念,它是一组无序.不可重复数据的组合.集合用{ ...}创建,某种程度上可以把集合看作是没有值的字典.集合是Python里面非常重要的数据类型,其中的方法总共 ...
- python内置函数有哪些_Python集合有哪些内置函数可以使用,这些内置函数有什么功能...
Python 的元组与列表类似,不同之处在于元组的元素定义了就不能修改. 元组可以切片.可以循环.元组没有多少内置函数可以用. Python元组(tuple)包含了以下内置函数: len(tuple) ...
- python集合是什么意思_Python集合是什么,为什么应该使用以及如何使用?
Python集合是什么,为什么应该使用以及如何使用?-1.jpg (34.56 KB, 下载次数: 0) 2018-7-30 18:07 上传 Python集合是什么,为什么应该使用以及如何使用?-2 ...
- python中用来计算集合并集的是_Python集合(set)并集
Python集合(set)并集教程 union 求集合并集详解 语法 s = s1.union(s2) 参数 参数 描述 s1 需要求并集的集合. s2 需要求并集的集合. s 求得并集的结果. 返回 ...
- python支持的集合运算有哪些_Python集合运算
在对集合做运算时,不会影响原来的集合,而是返回一个运算结果 创建两个集合 s = {1,2,3,4,5} s2 = {3,4,5,6,7} & 交集运算 result = s & s2 ...
- python利用集合的无重复性_利用Python程序完成ABAQUS中的一些重复性操作
对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...
- python集合可以修改吗_python集合是可变的吗
集合是一个无序的可变的序列.集合中的元素必须是可hash的,即不可变的数据类型. 空集合a=set() 注意a={}创建的是一个空字典. set -- 可变集合.集合中的元素可以动态的增加或删除. f ...
- python双向索引是什么意思_Python集合支持双向索引。
[简答题]任务三:定律应用 [填空题]震动液化诱发因素的土质条件有哪些 [判断题]地震要素中引起砂土液化的因素是地震波. [单选题]材料HT200中"200"表示( ) [单选题] ...
最新文章
- c语言中getche的用法,c语言中getch的用法
- [转] context-param与init-param的区别与作用
- 7445 oracle,Oracle 10g impdp 报 ORA-7445 [_INTEL_FAST_MEMCPY.A] 解决方法
- SQL UPDATE with INNER JOIN
- 2020 科大讯飞全球开发者大会节目单来了!
- tcpdf html 支持css吗,TCPDF 5.1 发布,增加对CSS的支持
- 3dmax phoenix fd4.0汉化补丁_教你屏蔽 Win10 Flash 删除补丁 - Windows 10
- WPF中ToolTip的自定义
- avedev matlab,avedev(avedev是什么函数)
- php小插件,PHPStrom中一些我收藏的小插件
- 厦门大学计算机专业录取分数线2019,【厦门大学:2019-2016山西省各专业录取分数线】...
- 液晶显示屏简介以及与CRT显示屏的对比
- Ubuntu18.04图标显示实时网速
- 【已解决】Latex如何打出△这个符号
- 【论文阅读】ICLR 2022: Scene Transformer: A unified architecture for predicting future trajectories of ...
- 『Linux』CentOS 7下一些有趣的配置
- 【语音智能平台】京东Alpha VS 讯飞开放平台 (一)
- DNS漏洞影响数百万物联网设备安全,ZDNS打造Safeguard安全威胁管控系统,精准防御实现网络安全防线前移
- for example: not eligible for auto-proxying问题解决
- 公链参考:只有在熊市里,才知道谁站着最稳
热门文章
- 阿里巴巴虾米的机器学习与深度学习进阶记
- 知识工场 | 知识图谱暑假班开始报名啦!
- jieba.posseg.cut方法
- php oo,OO思想之PHP之三大特性
- java的jbutton啥意思,Jbutton和Jpanel和JFrame之间的区别?
- 实验2 递归和分治法(二分查找)
- 牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径
- 安卓CheckBox实现单选
- android设置gradle位置,android studio gradle 位置更改
- slf4j的jar包冲突:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath