集合是一个无序、不重复的数据集合,它的主要作用如下:

  • 去重:把一个列表变成集合,就可以去除重复的内容
  • 关系测试:测试两组数据之间的交集、并集、差集等关系

集合常用的操作:

#创建一个数值集合
s=set([99,1,23,8,4,7])
print('s=',s)
#创建一个唯一字符的集合
t=set('MyPython')
print('t=',t)
#把一列表变成集合,验证去重功能
list=[5,2,7,36,2,5,111]
list2set=set(list)
print('列表变成集合后为:',list2set)
#交集
#求交集、并集时集合前后顺序无所谓
set1=set([3,5,7,9,12,0])
set2=set([1,2,3,6,8,9])
#s1与s2结果一样。求交集的两种算法都可以
s1=set1.intersection(set2)
s2=set1&set2
print('set1=',set1)
print('set2=',set2)
print('set1与set2的交集是:',s1,s2)
#并集
#union()=|
s3=set1.union(set2)
s4=set2|set1
print('set1与set2的并集是:',s3,s4)
#差集
print('***********求set1与set2的差集***********')
print('set1=%s\nset2=%s\n'%(set1,set2))
s5=set1.difference(set2)#求差集(数值在set1中,但不在set2中)
s6=set2.difference(set1)#求差集(数值在set2中,但不在set1中)
s7=set1-set2 #求差集(数值在set1中,但不在set2中)
s8=set2-set1 #求差集(数值在set2中,但不在set1中)
print('s5=%s\n'%s5,'S6=%s\n'%s6,'s7=%s\n'%s7,'s8=%s\n'%s8) #对称差集
print("*************求对称差集**************")
s9=set1.symmetric_difference(set2)
s10=set1^set2
print('set1与set2的对称差集是:',s9,s10) #基本操作
set1.remove(3)#删除set1中的一项3
print(set1)
set1.update([66.77,88,99])#在set2中添加三个数值
print(set1) len(set1)#求set1的长度
#x in set1 #测试x是否是set1的成员
#x not in set1 #子集 超集
a=set([2,3,4,5,9])
b=set([2,3,5])
c=set([44,2,7,5,12,3])
print(a.issuperset(b))
print(b.issuperset(a))
print(b.issubset(a))
print(b.issubset(c))
print(a>=b)
print(a<=b)
print(b<=c)
print(b>=c)

  

Python基础学习之集合的更多相关文章

  1. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  2. python基础学习之集合set

    .集合:set 特点:无序,不可重复(自动去重),可更改,可以与元组.列表互相转换 格式:s = {'x','y','z'} 转换:(转回用set) s = {'x','y','z'}        ...

  3. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  4. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  5. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  6. python基础学习8

    python基础学习8 内容概要 字典的内置方法 元组的内置方法 集合的内置方法 垃圾回收机制 内容详情 字典的内置方法 一.类型转换 res = dict(name='jason', pwd=123 ...

  7. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

  8. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

随机推荐

  1. DP小题集

    P2736 "破锣摇滚"乐队 Raucous Rockers 你刚刚继承了流行的"破锣摇滚"乐队录制的尚未发表的N(1 <= N <= 20)首歌的 ...

  2. Educational Codeforces Round 7 A

    Description Consider the infinite sequence of integers: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5. ...

  3. Codeforces 237E

    没啥好说的 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring& ...

  4. Lintcode 摊平嵌套的列表

    /** * // This is the interface that allows for creating nested lists. * // You should not implement ...

  5. Jenkins 第一次访问时提示Unlock Jenkins

    Jenkins启动后录入网址提示Unlock Jenkins,To ensure Jenkins is securely set up by the administrator Jenkins启动后, ...

  6. Gone Fishing

    原题网址 代码已经写出来了,自己测试的时候没有问题,提交上去之后反馈了我一个Runtime error  一口老血啊! 找了半天还是没找到可能越界啊啥的地方 import java.util.Scan ...

  7. (转)Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)

    参考网址:http://www.cnblogs.com/empty16/p/4828476.html 严正声明: 在linux下面使用命令行操作时,一定要懂得命令行的意思,然后再执行,要不然在不知道接 ...

  8. VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试

    1.VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试 https://download.csdn.net/download/qq_39441918/10522539 2.*注意 ...

  9. thinkphp控制器的使用

    控制器的使用 2.1url如何调用控制器 以典型的URL为例  http://localhost/shop/index.php/home/index/test /*home/controller/in ...

  10. js中的内置对象

    在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...