展开全部

*事先说明:以下代码及结果来自本设备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集合?相关推荐

  1. python利用集合的无重复性_python集合类型用法分析

    本文实例分析了python集合类型用法.分享给大家供大家参考.具体分析如下: python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括 ...

  2. python中集合比大小方法_Python集合17个方法详解

    Python 中的集合类似于数学中的集合概念,它是一组无序.不可重复数据的组合.集合用{ ...}创建,某种程度上可以把集合看作是没有值的字典.集合是Python里面非常重要的数据类型,其中的方法总共 ...

  3. python内置函数有哪些_Python集合有哪些内置函数可以使用,这些内置函数有什么功能...

    Python 的元组与列表类似,不同之处在于元组的元素定义了就不能修改. 元组可以切片.可以循环.元组没有多少内置函数可以用. Python元组(tuple)包含了以下内置函数: len(tuple) ...

  4. python集合是什么意思_Python集合是什么,为什么应该使用以及如何使用?

    Python集合是什么,为什么应该使用以及如何使用?-1.jpg (34.56 KB, 下载次数: 0) 2018-7-30 18:07 上传 Python集合是什么,为什么应该使用以及如何使用?-2 ...

  5. python中用来计算集合并集的是_Python集合(set)并集

    Python集合(set)并集教程 union 求集合并集详解 语法 s = s1.union(s2) 参数 参数 描述 s1 需要求并集的集合. s2 需要求并集的集合. s 求得并集的结果. 返回 ...

  6. python支持的集合运算有哪些_Python集合运算

    在对集合做运算时,不会影响原来的集合,而是返回一个运算结果 创建两个集合 s = {1,2,3,4,5} s2 = {3,4,5,6,7} & 交集运算 result = s & s2 ...

  7. python利用集合的无重复性_利用Python程序完成ABAQUS中的一些重复性操作

    对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...

  8. python集合可以修改吗_python集合是可变的吗

    集合是一个无序的可变的序列.集合中的元素必须是可hash的,即不可变的数据类型. 空集合a=set() 注意a={}创建的是一个空字典. set -- 可变集合.集合中的元素可以动态的增加或删除. f ...

  9. python双向索引是什么意思_Python集合支持双向索引。

    [简答题]任务三:定律应用 [填空题]震动液化诱发因素的土质条件有哪些 [判断题]地震要素中引起砂土液化的因素是地震波. [单选题]材料HT200中"200"表示( ) [单选题] ...

最新文章

  1. c语言中getche的用法,c语言中getch的用法
  2. [转] context-param与init-param的区别与作用
  3. 7445 oracle,Oracle 10g impdp 报 ORA-7445 [_INTEL_FAST_MEMCPY.A] 解决方法
  4. SQL UPDATE with INNER JOIN
  5. 2020 科大讯飞全球开发者大会节目单来了!
  6. tcpdf html 支持css吗,TCPDF 5.1 发布,增加对CSS的支持
  7. 3dmax phoenix fd4.0汉化补丁_教你屏蔽 Win10 Flash 删除补丁 - Windows 10
  8. WPF中ToolTip的自定义
  9. avedev matlab,avedev(avedev是什么函数)
  10. php小插件,PHPStrom中一些我收藏的小插件
  11. 厦门大学计算机专业录取分数线2019,【厦门大学:2019-2016山西省各专业录取分数线】...
  12. 液晶显示屏简介以及与CRT显示屏的对比
  13. Ubuntu18.04图标显示实时网速
  14. 【已解决】Latex如何打出△这个符号
  15. 【论文阅读】ICLR 2022: Scene Transformer: A unified architecture for predicting future trajectories of ...
  16. 『Linux』CentOS 7下一些有趣的配置
  17. 【语音智能平台】京东Alpha VS 讯飞开放平台 (一)
  18. DNS漏洞影响数百万物联网设备安全,ZDNS打造Safeguard安全威胁管控系统,精准防御实现网络安全防线前移
  19. for example: not eligible for auto-proxying问题解决
  20. 公链参考:只有在熊市里,才知道谁站着最稳

热门文章

  1. 阿里巴巴虾米的机器学习与深度学习进阶记
  2. 知识工场 | 知识图谱暑假班开始报名啦!
  3. jieba.posseg.cut方法
  4. php oo,OO思想之PHP之三大特性
  5. java的jbutton啥意思,Jbutton和Jpanel和JFrame之间的区别?
  6. 实验2 递归和分治法(二分查找)
  7. 牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径
  8. 安卓CheckBox实现单选
  9. android设置gradle位置,android studio gradle 位置更改
  10. slf4j的jar包冲突:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath