python学习笔记(七)之集合2
  TEZNKK3IfmPf 2023年11月14日 20 0

python学习笔记(七)之集合2 不变的集合 在”python学习笔记(六)之集合1“中以set()来建立集合,这种方式所创建的集合都是可原地修改的集合,或者说是可变的,也就是说是unhashable。 还有一种集合,不能在原处修改。这种集合的创建方法是用frozenset(),ps:frozen冻结的,是不可变的,也就是说是hashable--可哈希。 实例1:

f_set = frozenset("wtf") f_set frozenset(['t', 'w', 'f'])

f_set.add("python") Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'frozenset' object has no attribute 'add' 说明:报错说集合是不能修改的。 对比可以修改的集合: 实例2:

c_set = set("name") c_set set(['a', 'e', 'm', 'n'])

c_set.add("python") c_set set(['a', 'e', 'm', 'python', 'n'])

集合运算 元素与集合的关系 只有一种关系:元素要么属于集合,要么不属于。 实例3:

c_set set(['a', 'e', 'm', 'python', 'n'])

"a" in c_set True

"wtf" in c_set False

集合与集合的关系 判断集合a是否等于集合b 实例4:

a = set(["q","w","t","f"]) b = set(["w","f","q","t"]) a == b True

a != b False

判断集合c是否是集合b的子集,或者说b是否是a的超集(超集:即a的元素也都是b的元素,但是b的元素比a的元素数量多。) 实例5:

c = set(["w","t","f","g"]) d = set(["w","t"]) d < c ##d是c的子集 True

d.issubset(c) ##d是否是c的子集 True

c.issuperset(d) ##c是否是d的超集 True

集合的并集 表达式:a | b 或者使用函数a.union(b) ps:union联盟 注意:a,b的并集得到的结果就是两个集合并集,这个结果是新生成的一个对象,不是将集合a扩充! 实例6:

a = set(["w","t","f"]) b = set(["z","h","a","o"]) a | b set(['a', 't', 'w', 'f', 'h', 'z', 'o'])

a.union(b) set(['a', 't', 'w', 'f', 'h', 'z', 'o'])

a set(['t', 'w', 'f'])

b set(['a', 'h', 'z', 'o'])

集合的交集 表达式:b & c 或者使用函数b.intersection(c) ps:intersection 路口 实例7:

b = set(["z","h","a","o"]) c = set(["z","y","d"]) b & c set(['z'])

b.intersection(c) set(['z'])

b set(['a', 'h', 'z', 'o'])

c set(['y', 'z', 'd'])

集合的补集 表达式:b - c ##b相对于c的差(补),即b相对于c不同的元素 或者使用函数 b.difference(c) 实例8:

b set(['a', 'h', 'z', 'o'])

c set(['y', 'z', 'd'])

b - c set(['a', 'h', 'o'])

c - b set(['y', 'd'])

b.difference(c) set(['a', 'h', 'o'])

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   24   0   0 map集合
  TEZNKK3IfmPf   2024年05月31日   30   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   24   0   0 python
  TEZNKK3IfmPf   2024年05月31日   22   0   0 python
TEZNKK3IfmPf