Python 入门系列 —— 20. Set的CURD操作

一线码农 2021/1/10 5:08:56

set 访问想要访问 set 集合,用不了 index 或 key ,但可以通过 for 循环来迭代 set 集合,或者用 in 判断某一个值是否在集合中,如下代码所示: thisset = {"apple", "banana", "cherry"}for x in thisset:print(x)PS E:\dream\markdown\…

set 访问

想要访问 set 集合,用不了 index 或 key ,但可以通过 for 循环来迭代 set 集合,或者用 in 判断某一个值是否在集合中,如下代码所示:

thisset = {"apple", "banana", "cherry"}

for x in thisset:
  print(x)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry

接下来是用 in 的案例。

thisset = {"apple", "banana", "cherry"}

print("banana" in thisset)


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
True

修改 item

集合一旦创建好之后,不能修改 set 中的项,只能新增。

新增 item

要想往 set 集合中新增,可以使用 add() 方法, 比如下面的例子。

thisset = {"apple", "banana", "cherry"}

thisset.add("orange")

print(thisset)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
{'cherry', 'banana', 'orange', 'apple'}

新增 set 大集合

将一个set 整体加入到另一个 set 中,可以使用 update() 方法。

thisset = {"apple", "banana", "cherry"}
tropical = {"pineapple", "mango", "papaya"}

thisset.update(tropical)

print(thisset)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
{'banana', 'pineapple', 'papaya', 'mango', 'apple', 'cherry'}

set 的 update 方法除了可以单纯的添加 set 集合,还可以是任何可迭代的集合,比如:tuple,list,dict 等等。

thisset = {"apple", "banana", "cherry"}
mylist = ["kiwi", "orange"]

thisset.update(mylist)

print(thisset)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
{'cherry', 'orange', 'kiwi', 'apple', 'banana'}

移除 item

要想从 set 集合中移除某一个item,可以使用 remove() 或者 discard() 方法,如下代码所示:

thisset = {"apple", "banana", "cherry"}

thisset.remove("banana")

print(thisset)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
{'cherry', 'apple'}

有些朋友可能就要问了,remove 和 discard 有什么区别?前者表示如果item不在集合中就会抛异常,后者则不会。

set 清空和删除

如何想把 set 集合中的所有元素都抹掉,可以使用 clear() 方法。

thisset = {"apple", "banana", "cherry"}

thisset.clear()

print(thisset)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
set()

如果想把 set 集合释放掉,可以使用 del。

thisset = {"apple", "banana", "cherry"}

del thisset

print(thisset)


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
Traceback (most recent call last):
  File "e:/dream/markdown/python/app/app.py", line 5, in <module>
    print(thisset)
NameError: name 'thisset' is not defined

从上面代码可以看出,如果 del 之后想 print 的话,将会抛出异常。

set 合并

有几种方式可以实现 set 集合合并,要么使用 union ,要么使用 update,前者是非破坏性操作,后者就是一种破坏性了,可以细评如下代码:

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)
print(set3)

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)
print(set1)

set 交集

set 之间除了 union 操作,还可以 intersection 求交集,如下代码所示:

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

z = x.intersection(y)

print(z)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
{'apple'}

set 更多方法

除了上面介绍的方法,set 集合中还有非常多的内建方法,如下经供参考。

译文链接:https://www.w3schools.com/pyt...

更多高质量干货:参见我的 GitHub: python

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Python 入门系列 —— 20. Set的CURD操作]http://www.zyiz.net/tech/detail-150763.html

上一篇:Python的collections.Counter类型,师兄教你如何去掌握python的collections.Counter类型。

下一篇:Python 入门系列 —— 19.Set 介绍

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程