day4 集合操作

2022-06-10 17:21:07 字數 1849 閱讀 8233

集合可以去掉重複的,s = set(),這種形式是集合,集合是無序的,可以把所有的可迭代物件轉為集合

xn = ['ggy', 'agr', 'hello']

python = ['ggy', 'ssj', 'zy']

s_xn = set(xn)

s_python = set(python)

print(s_xn.union(s_python))  # 取並集方法一

print(s_xn | s_python)  # 取並集方法二

print(s_xn.intersection(s_python))  # 取交集方法一

print(s_xn & s_python)  #

取交集方法二

集合不能按照下標取值,會報錯

b =

print(b[0])  # 報typeerror: 'set' object is not subscriptable錯誤,因為集合是無序的

集合裡傳入列表和字典都會報錯,因為它倆是可變的,非雜湊型別,傳入元組和字串不會報錯

set1 =# 報typeerror: unhashable type: 'list'

print(set1)

set2 = }# 報typeerror: unhashable type: 'dict'

print(set2)

set3 =

print(set3)# 列印出1

取對稱差集

print(s_xn.symmetric_difference(s_python))  # 把兩個集合中相同的元素去掉方法一

print(s_xn ^ s_python)  # 把兩個集合中相同的元素去掉方法二

print(s_xn.issubset(s_python))  # 判斷前面這個集合是不是在後面這個集合裡面,了解一下

print(s_xn.issuperset(s_python))  # 判斷前面這個集合是不是包含後面這個集合,了解一下

print(s_xn.isdisjoint(s_python))  # 判斷兩個集合是否有交集,沒有交集返回true,了解一下

集合的新增操作:

第一種方式:s_xn.add('abc') ,通過此方式可以在集合裡出現'a','b','c',如果有重複的只保留乙個

第二種方式:s_xn.update(),括號裡可以傳入乙個list、tuple、字串都可以,把重複的去掉

s_xn =

s_xn.update(['abc', 'xyz'])  # 括號裡可以傳入乙個list,把重複的去掉

s_xn.update(('abc', 'xyz'))  # 括號裡可以傳入乙個tuple,把重複的去掉

s_xn.update('abc')  # 括號裡可以傳入乙個字串,把重複的去掉,字串以單個字元的形式展示

print(s_xn)

集合的刪除操作:

第一種方式:s_xn.remove('abc'),刪除集合裡的元素,沒有該元素會報錯

s_xn.remove('abc')

print(s_xn)

第二種方式:s_xn.pop(),隨機刪除乙個元素,並返回剩下的元素

s_xn.pop()

print(s_xn)

第三種方式:s_xn.discard('abc'),如果刪除的元素存在就刪除並返回剩下的元素,不存在返回原始的集合

s_xn.discard('abc')

print(s_xn)

不可變的集合用frozenset(),如num1 = frozenset((1, 2, 3)),num1.add(4)會報錯

Day 4 集合 百分號拼接及函式

按元素可變不可變可分為 可變 列表 字典 不可變 字串 數字 元組 按訪問順序 1.直接訪問 陣列 2.順序訪問 字串 列表 元組 3.對映訪問 字典 無序,但查詢速度比較快,但佔記憶體高,因為內部維護字典的對映關係 按存放元素個數 容器型別 可存放多個值 列表 元組 字典 原子 數字 字串 定義字...

4 集合與有序集合

特性 無序 隨機操作 唯一性,確定性 zrevrange key start stop 將集合降序排列,取在start,stop 之間的元素 zrangebyscore key min max withscore limit offset n 將score在 min,max 之間的元素跳過offse...

scala基礎4 集合

map set list 集合 可變集合可以在適當的地方被更新或擴充套件,意味著你可以修改 新增 移除乙個集合的元素。而不可變集合類,相比之下,永遠不會改變。不過,你仍然可以模擬新增,移除或更新操作。但是這些操作都將返回乙個新的集合,同時原來的集合不發生改變。不可變的都在immutable裡,可變的...