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

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

集合常用的操作:

#创建一个数值集合
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. [Leetcode]016. 3Sum Closest

    public class Solution { public int threeSumClosest(int[] num, int target) { int result = num[0] + nu ...

  2. jquery each循环,实现break和continue的功能

    break----用return false; continue --用return ture;

  3. sscanf()分割字符数组

    sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 头文件: #include<stdio.h> 或者 #include < ...

  4. thinkphp控制器的使用

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

  5. java——哈希表 HashTable

    在一个类中重写hashCode()和equals() package Date_pacage.hash; public class Student { private int grade; priva ...

  6. accept 和 connect API深入 重点accept阻塞和非阻塞问题学习

    https://www.cnblogs.com/zhangkele/p/10284234.html

  7. python 16 进程和线程

    进程和线程 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务. ...

  8. C# 判断字符串为空(长度为0),或者是null(没有new)

    string str = null; if (string.IsNullOrWhiteSpace(str)) { MessageBox.Show("字符串为null"); } ) ...

  9. 关于Mysql数据库的注意点

    1.注意属性为String的数据在JDBC操作语句中要加单引号 例子: conn = DriverManager.getConnection("jdbc:mysql://localhost: ...

  10. HDU 5592——ZYB's Premutation——————【线段树单点更新、单点查询】

    ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...