集合可以去掉重複的,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裡,可變的...