一、Pythonset合併簡介
Python的set是一種無序不重複元素集,合併即將兩個set中的元素合併成一個新的set,去掉重複元素。
set合併使用union()方法,也可以使用「|」運算。
二、Pythonset合併的基本用法
使用union()方法將兩個set合併,並去重。
set1 = {1, 2, 3} set2 = {3, 4, 5} set3 = set1.union(set2) print(set3) # {1, 2, 3, 4, 5}
使用「|」運算也可以將兩個set合併,並去重。
set1 = {1, 2, 3} set2 = {3, 4, 5} set3 = set1 | set2 print(set3) # {1, 2, 3, 4, 5}
三、Pythonset合併的高級應用
1、set合併最大公約數
可以使用set合併方法求最大公約數。
def gcd(x, y): if x == y: return x elif x > y: return gcd(x-y, y) else: return gcd(x, y-x) set1 = {2, 4, 6, 8} set2 = {3, 6, 9, 12} gcd_num = gcd(max(set1), max(set2)) set3 = set1.union(set2) print(gcd_num in set3) # True
2、set合併求有交集元素
可以使用set合併方法求兩個set是否存在交集。
set1 = {1, 2, 3} set2 = {3, 4, 5} set3 = set1.union(set2) if len(set1) + len(set2) > len(set3): print("存在交集") else: print("不存在交集")
3、set合併去除重複元素並保持順序
可以使用set合併方法去除重複元素,並保持順序不變。
from collections import OrderedDict list1 = [1, 2, 3, 3, 4, 5, 6, 7, 7, 8] list2 = [1, 9, 2, 10, 3, 4, 5, 6] set1 = set(list1) set2 = set(list2) set3 = set1.union(set2) list3 = list(OrderedDict.fromkeys(set3)) print(list3) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
四、Pythonset合併的注意事項
使用set合併方法時需要注意:
1、set中的元素必須是可hash的,因為set是基於hash表實現的。所以也就不能夠使用list、set、dict等不可hash類型作為元素。
2、set合併後順序不可預測,因為set是無序集合。
五、小結
通過本文的學習,我們了解到了Pythonset合併方法的基本用法和高級應用,並且注意到了使用這個方法時的一些注意事項。
原創文章,作者:CSQEO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/366247.html