Set集合

dic = {"朱元璋":"明太祖", "朱棣":"明成祖", "朱元璋":"朱重八"}
print(dic)
dic['朱元璋'] = "和尚"
print(dic)
# set就是存储的key, set集合不会重复, 无序
s = {"朱元璋", "朱元璋", "朱棣"}
print(s)

s = {"alex", 1, True, {"你好"}}
s = {"马虎疼", [1,4,7]} # 不合法. [] 列表是不可哈希的
s = {"呵呵", "哈哈", "吼吼", (1, 4, 7)}
print(s)

去重复
lst = [1,4,7,1,4,5,6,7,8,2,1,3,9]
s = set(lst)
lst = list(s)
print(lst)

s = set({})
s.add("王祖蓝") # 添加元素
s.add("王祖贤")
s.add("王祖蓝")
print(s)

s = {"李谷一", "周润发", "邓丽君", "黄家驹", "张国荣"}
s.update("中岛美嘉") # 迭代更新
print(s)

s.update(["中岛美雪", "很牛B"])
print(s)
s = {"李谷一", "周润发", "邓丽君", "黄家驹", "张国荣"}
item = s.pop() # 随机删除
print(item)
s.clear()
print(s)
for el in s:
    print(el)

s1 = {"刘能", "赵四", "皮长山"}
s2 = {"刘科长", "冯乡长", "皮长山"}

求交集
print(s1 & s2)
print(s1.intersection(s2)) # 交集

并集
print(s1 | s2)
print(s1.union(s2)) # 并集

s1 = {"刘能", "赵四", "皮长山"}
s2 = {"刘科长", "冯乡长", "皮长山"}
差集, 把自己本身中和对方不相关的内容留下
print(s2 - s1)
print(s2.difference(s1))

s = frozenset({1,5,7})
# print(s)
# # for el in s:
# #     print(el)
dic = {s: "周杰伦"} # 验证. frozen是可哈希的. 不可变
print(dic)


s1={'你好','好不好','真的好吗'} s2={'你好','坏人坏'} 

交集 共有的元素 print(s1&s2) print(s2.intersection(s1))

# 并集 两组元素何在一起,包括重复的 print(s1|s2) print(s1.union(s2))

# 差集 s1-s2 剩余s1独有的 print(s1-s2)

# 反差集 两个集合中单独存在的数据 print(s2^s1)

#子集 s1是s2的子集吗 print(s1<s2) print(s1.issupset(s2))

超集 print(s1>s2) print(s2.issuperset(s1))

  


  

posted @ 2018-06-07 16:32  北伽  阅读(132)  评论(0编辑  收藏  举报