今天要来介绍一下 Set
set
储存的是 没有顺序性 且 不重复 的资料(会自动删除重复的元素)
建立 set
:
用 set()
或 {}
来建立,但是 {}
里面要放东西,不然会被判定为 dict
s = {1, 2, 3}
print(type(s))
x = {}
print(type(x))
s = {1, 2, 3}
print(s)
用 set()
建立
settt = set(('a', 'b', 'c')) #注意这里是两层括号
print(settt)
print(type(settt))
set
不能有重复元素
s = {'Red', 'Blue', 'Yellow', 'Red'} # 只能有一个 'Red'
print(s)
想知道 set
内有多少元素:用 len()
来看
s = {'Red', 'Blue', 'Yellow'}
print(len(s))
增加 set
内的元素
set.add()
:新增元素
s = {'Red', 'Blue', 'Yellow'}
s.add('Orange')
print(s)
set.update()
:可以把任何可迭代的物件也加到原本的 set
当中
s = {'Red', 'Blue', 'Yellow'}
abcd = {'hello', 'python'}
s.update(abcd) #合并另一个 set
print(s)
s = {'Red', 'Blue', 'Yellow'}
abcd = ['hello', 'python', 123]
s.update(abcd)
print(s)
set.union
:把两个 set
合并到另一个新的 set
,跟 update 的差别是建立一个新的 set
或是改变原本的 set
set1 = {1, 2, 3}
set2 = {'a', 'b', 'c'}
set3 = set1.union(set2)
print(set3)
set1.update(set2)
print(set1)
这两个「update()
, union()
」的括号内可以放任何可迭代的物件(list
, dic
, tuple
, set
)但是前面一定要是 set
才可以用这两个函式。
减少 set
内的元素
set.remove()
:删除元素,若括号内的元素原本的 set
里没有会错误
s = {'Red', 'Blue', 'Yellow'}
s.remove('Red')
print(s)
set.discard()
:也是删除元素,但是括号内的元素 set
没有也不会错误
s = {'Red', 'Blue', 'Yellow'}
s.discard('Red')
print(s)
s = {'Red', 'Blue', 'Yellow'}
s.discard('Orange') #set 内没有 'Orange' 也不会错误
print(s)
set.clear
:清空 set
s = {'Red', 'Blue', 'Yellow'}
s.clear()
print(s)
print(type(s))
del
:删除整个 set
s = {'Red', 'Blue', 'Yellow'}
del s
set.pop()
:与 list
不同,由於 set
没有顺序性,所以是随机移除一个 set
内的元素
s = {'Red', 'Blue', 'Yellow'}
s.pop()
print(s)
用 loop
把跑一遍 set
s = {'Red', 'Blue', 'Yellow'}
for x in s:
print(x)
检查特定元素是否在 set
里
s = {'Red', 'Blue', 'Yellow'}
print('Red' in s)
Set Methods
set.intersection_update()
:检查 set
之间交集(共有)的元素,并把引导的 set
改为只剩交集的元素
x = {'Red', 'Blue', 'Yellow'}
y = {'hello', 2, 'Red'} #共有的只有 'Red'
x.intersection_update(y)
print(x)
set.intersection()
:检查 set
之间交集(共有)的元素,并建立一个新的 set
x = {'Red', 'Blue', 'Yellow'}
y = {'hello', 2, 'Red'}
x.intersection_update(y)
z = x.intersection(y)
print('set x =', x)
print('set z =', z)
set.symmetric_difference_update()
set.symmetric_difference()
:取出 set
之间交集的元素「之外」的元素
x = {'Red', 'Blue', 'Yellow'}
y = {'hello', 2, 'Red'}
x.symmetric_difference_update(y) #得到的值会盖过原本的 x
print('set x =', x)
x = {'Red', 'Blue', 'Yellow'}
y = {'hello', 2, 'Red'}
z = x.symmetric_difference(y) #得到的值给 z
print('set z =', z)
set.difference()
set.difference_update()
:找出该 set
与另一个 set
「不一样」的元素
x = {'Red', 'Blue', 'Yellow'}
y = {'hello', 2, 'Red'}
z = x.difference(y) #不会改变 x
x.difference_update(y) #会改变 x 所以放後面
print('set z =', z)
print('set x =', x)
待续...
<<: 【从实作学习ASP.NET Core】Day15 | 後台 | 自定义使用者栏位
猴子接香蕉 教学原文参考:猴子接香蕉 这篇文章会介绍如何使用「创建角色」、「角色是否碰到其他角色」、...
遮是一篇超级没有语言技术性质的文章!请三思慎入!! 今天要来做查询天气的功能。 一样有事前作业: 1...
今天要来说到版面配置的部分! 首先,我们第一个先从”画面设计”开始说起,还记的我们前面说到的吗?关於...
本系列文之後也会置於个人网站 +--------+ +---------------+ | |--...
在人类中,基因肯定是世世代代在传承, 下一代除了接收了上一代的基因之外, 可能还会偷偷的进化, C#...