设为首页 加入收藏

TOP

关于set集合的介绍和操作
2017-10-09 16:54:53 】 浏览:9305
Tags:关于 set 集合 介绍 操作

注册博客园有一段日子,可是没有在上面留下过痕迹,今天兴趣突来,写点啥吧!

与大家共同学习!写的不好还请帮助指正。

  • 集合的创建

方法一:直接创建集合

s1 = {11,12,11,22,31} #使用{}创建集合

方法二:创建空集合,然后进行添加、删除等元素

s2 = set()
s2.add(11)
s2.add(12)
s2.add(13)
s2.add(22)
print (s2)

方法三:对其他类型进行集合转换

list = [11,12,14,15,22]
s3 = set(list)
print (s3)
#这种方法和列表等转换方法一样,严格来说应该不算是创建集合,但有时比较好用
  • 集合的操作
  1. difference 取差集
s1 = {11,12,11,22,31}
s2 = {11,12,13,22}
s3 = s1.difference(s2) 
#s1中有的元素,s2中没有的元素
print (s3)    #{31}

  2. symmetric_difference 对称差集

s1 = {11,12,11,22,31}
s2 = {11,12,13,22}
s3 = s1.symmetric_difference(s2)  #对称差集
print (s3)    #{31,13}

     3. difference_update  取差集,并更新在s1中

s1 = {11,12,11,22,31}
s2 = {11,12,13,22}
s1.difference_update(s2)  #对称差集,并更新在s1中
print (s1)    #{31}

  4. symmetric_difference_update  对称差集(交集保留唯一),并更新在s1中

s1 = {11,12,11,22,31}
s2 = {11,12,13,22}
s1.symmetric_difference_update(s2)  #对称差集(交集保留唯一),并更新在s1中
print (s1)    #{31,11,12,13,22}

  注意:以下这个运行结果是银角大王课件中的

s1.symmetric_difference_update(s2) 
print (s1)    #{31,13}

  输出结果有差异。就是说symmetric_difference_update 结果中,一个保留了相同的元素,一个没有保留,

大家可以试试你们的输出结果,看下是哪一种?是不是和版本有关?


手写的就是慢,后面研究研究,能快速简便的写。先就这么多吧!

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇copytest.py 下一篇自动化测试框架中关于selenium ap..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目