零基础学PythonDay7 Python基本数据类型之Set

Posted 光于前裕于后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学PythonDay7 Python基本数据类型之Set相关的知识,希望对你有一定的参考价值。

昨天跟大家一起学习了 Python基本数据类型之Number,没学的兄弟姐妹们看这里【零基础学Python】Day6 Python基本数据类型之Tuple,今天让我们开始学习Python基本数据类型集合Set吧。
需注意的是,【零基础学Python】此系列都使用Python3。


Python3 中有6个基本的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

而这6个基本的数据类型又可划分为两类,可变数据类型和不可变数据类型,见下:

  • 不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)
  • 可变数据类型:List(列表)、Dictionary(字典)、Set(集合)

Set

集合Set是一个无序的不重复元素序列,无序是指集合中的元素没有顺序,不重复是指集合中不能存储重复数据,这一特性也常用于数据去重。集合的定义非常简单,使用大括号或者set()即可,但是当创建空集合时,不能用大括号,因为字典的定义是用大括号。

>>> heizui = 
>>> print(type(heizui))
<class 'dict'>
>>> heizui = '黑嘴'
>>> print(type(heizui))
<class 'set'>

当使用元组时,里面可以存储多个黑嘴,但是集合会去除重复,而且顺序也会改变

>>> heizui = ('黑嘴', '黑嘴', '开朗', '233')
>>> print(heizui)
('黑嘴', '黑嘴', '开朗', '233')
>>> heizui = '黑嘴', '黑嘴', '开朗', '233'
>>> print(heizui)
'开朗', '233', '黑嘴'

集合添加元素使用add()函数,删除元素使用remove()函数,但是删除不存在元素时会报错,推荐使用discard()函数,删除不存在元素时不会报错。

>>> heizui = '黑嘴', '黑嘴', '开朗', '233'
>>> print(heizui)
'开朗', '233', '黑嘴'
>>> heizui.add('张一蛋')
>>> print(heizui)
'张一蛋', '开朗', '233', '黑嘴'
>>> heizui.remove('233')
>>> print(heizui)
'张一蛋', '开朗', '黑嘴'
>>> heizui.remove('233')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: '233'
>>> heizui.discard('233')
>>> heizui.discard('黑嘴')
>>> print(heizui)
'张一蛋', '开朗'
>>> heizui.clear() # 清空集合
>>> print(heizui)
set()

下面展示两个集合间的运算:

>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
'a', 'r', 'b', 'c', 'd'
>>> a - b                              # 集合a中包含而集合b中不包含的元素
'r', 'd', 'b'
>>> a | b                              # 集合a或b中包含的所有元素
'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'
>>> a & b                              # 集合a和b中都包含了的元素
'a', 'c'
>>> a ^ b                              # 不同时包含于a和b的元素
'r', 'd', 'b', 'm', 'z', 'l'

集合非常简单,兄弟们学废了吗

以上是关于零基础学PythonDay7 Python基本数据类型之Set的主要内容,如果未能解决你的问题,请参考以下文章

零基础学PythonDay5 Python基本数据类型之List

零基础学PythonDay4 Python基本数据类型之String

零基础学PythonDay8 Python基本数据类型之Dictionary

零基础学PythonDay8 Python基本数据类型之Dictionary

零基础学PythonDay5 Python基本数据类型之List

零基础学PythonDay6 Python基本数据类型之Tuple