[day-17] 认识Python的资料结构!(Part .4)

一、认识"set"(集合)

  甚麽是set呢?简单来说set就像是一个大杂烩,当一堆资料存在set的元素中,它们 彼此没有顺序的概念 ,在前面[day-15]中我们介绍了list(串列)的元素是依序排列,而set是随机摆放。

※ set在使用上,采用的是大括号这点要特别注意

二、重复的元素变得不可能?

  甚麽?元素的内容不能重复?没错,因为前面提到set的特性是元素没有固定的顺序,因此当我要输入相同资料时,就可能发生两笔 资料被合并 的状况。

oneset = {0, 5, 3, 3}
print(oneset)

输出:
{0, 3, 5}

在这个范例中,我们可以发现3被合并在一起了,因此当输入重复的资料,最後也只会有一个存在。

  那为甚麽会出现这种状况呢?原因是因为Python在集合中搜寻资料时,是透过hash来比对资料是否一致,hash的概念是,为资料产生一个唯一识别码,当两者资料一致时,同理hash也会一致,所以因此当你输入的资料相同时,在输出的资料也只找的到这个hash。

  为了确保资料不会发生重复的状况,所以set也不允许放入 "可改变的元素" ,所以我们能选择的也只有tuple、字串、纯量资料、等...。

三、练习的第一步,建立一个空集合

  当我们了解了set的概念後,我们就可以开始建立一个空集合。

oneset = set()

⚠⚠这边要注意,空集合只能用set()来建立,不可使用{},否则会被定义为其他东西(空字典)。⚠⚠


<<:  #17 No-code 之旅 — 专案架构

>>:  [Day 17] - 初探永丰银行线上收款API - 丰收款 - Sign值计算(2)

来了解hyperviser

Hyperviser源起 (虚拟机, Virtual Machine),好像是这几十年才听到的新名词...

DAY5:专案架构介绍(一)

接下来我要来介绍到有关於当我们将专案打开来时,那最多人使用的配置是”Project”及”androi...

iPhone换电池价格很贵吗?怎样做才能更省钱?

由於反复充电或者长时间充电没有拔下来,都会造成手机的电池寿命变得很短,有些时候人们使用不正规或者不匹...

[Day14]PHP Class 类别01

class类 class基本概念 每个类的定义都以关键字 class 开头,後面跟着类的名,再一个括...

伸缩自如的Flask [day 28] Flask-Mail

在有必要的时候,我们可能需要使用寄信来通知使用者、寄信给公会小姐、 把AI数据视觉化的资料寄给老板。...