集合 Set

集合的创建

集合的创建只有一种方式

集合中的元素必须是不可变的数据类型

集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选

s=set('xiaoming')
s1=['alex','mike','alex','mary']
s2=set(s1)
print(s)
print(s2)
>>>{'a','g','m','x','o','n','i'}
>>>{'mike','alex'}
# 集合的重要特点:去重,重复元素只会显示一次
s3=list(s)
# 重新把集合转变为列表
print(s3)
>>>['mike','alex']

集合的分类:可变集合、不可变集合

可变集合(set):可添加和删除元素,不能作为字典的键

不可变集合(frozenset):与可变集合相反

集合的相关操作

s = set('xiaoming')
s1 = ['alex','mike','alex','mary']
s = set(s1) 1)add
s.add('john')
print(s)
>>>{'alex', 'mary', 'mike', 'john'} 2)update
s.update('john')
print(s)
>>>{'alex','n','h','mike','o','j'}
s.update(['john','damon'])#使用一个课迭代的容器list来把元素加入集合中
print(s)
>>>{'alex','mike','john'} 3)pop
s.pop()#pop不能指定删除某个特定的元素,每次只会删除一个参数
print(s)
>>>{'mike','alex'} 4)remove
s.remove('mike')#remove可以删除指定元素
print(s)
>>>{'mary', 'alex'} 5)clear
s.clear()#清空集合
print(s)
>>>set() 6)del#删除集合

集合类型操作符

1)in,not in

2)集合等价(==)与不等价(!=)

3)子集、超集
父集、超集(>)
a=set([1,2,3,4])
b=set([4,5,6,7])
print(a.issuperset(b)) # a 是否完全包含 b
>>> False
子集(<) # a 是否属于 b
print(a.issubset(b))
>>> False 4)联合即并集符号(|)
联合(union)操作与集合的or操作是等价的,取两个集合中所有的元素print(a.union(b))
# print(a|b)
>>>{1,2,3,4,5,6,7} 5)交集(&)
print(a.intersection(b))
# print(a&b)
>>>{4} 6)差集(-)
print(a.difference(b))#inabutnotinb
# print(a-b)
>>>{1,2,3} 7)对称差集(^)
print(a.symmetric_difference(b))
# print(a^b)
>>>{1,2,3,5,6,7}
 

Python学习 :集合的更多相关文章

  1. Python学习——集合

    集合 python中的集合和数学上集合具有基本相同的性质,此处不再赘述. 1.创建集合的两种方法 #直接创建 num={1,2,3,4,5} #利用set方法创建 num1=set([1,2,3,4, ...

  2. day8 python学习 集合 深浅拷贝

    1.内存地址: 字符串在20位以内,没有空格,没有特殊字符的情况下,同样的字符串内存地址是一样的 2.元组中:在只有一个值的时在后边加逗号和没有逗号的区别 t1=(1) 不加逗号这个值是什么类型就打印 ...

  3. Python学习————集合的增删查

    可变的数据类型,他里面的元素必须是不可变的数据类型.无序,内容不能重复.应用于去重 增加:set1.add('元素')--->将元素无序的插入集合set1中set1.update("元 ...

  4. python学习笔记整理——集合 set

    python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...

  5. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  6. 【Python学习之四】集合类型

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指 ...

  7. python学习6—数据类型之集合与字符串格式化

    python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...

  8. 【Python学习笔记】集合

    概述 集合的一般操作 内建函数进行标准操作集合 数学运算符进行标准操作集合 集合的应用 概述 python的集合(set)是无序不重复元素集,是一种容器.集合(set)中的元素必须是不可变对象,即可用 ...

  9. Python学习,第六课 - 集合

    Python中集合的相关操作 集合是一个无序的,不重复的数据组合 它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 =set ...

  10. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

随机推荐

  1. 数据库聚焦与非聚焦索引 事务处理 redis innodb引擎(九)

    1 数据库事务处理 一个数据库事务通常包含对数据库进行读或写的一个操作序列 . 当一个事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库 ...

  2. 五、mariadb遇到的坑——Linux学习笔记

    C#连接MySQL异常:The host localhost does not support SSL connections. 解决方案: 连接字符串添加如下语句. SslMode = none; ...

  3. Http status(二)

    http含义: http 200:-文件被正常的访问 http 302:临时重定向 HTTP错误列表 HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 ...

  4. 通过CXF,开发soap协议接口

    1. 引入cxf的jar包 pom文件里面直接增加依赖 < dependency> <groupId > junit</ groupId> <artifact ...

  5. Oracle三种链接方式的区别

    1 nested loops join--我们用设置statistics_level=all的方式来观察如下表连接语句的执行计划: --T2表被访问100次(驱动表访问1次,被驱动表访问100次)-- ...

  6. dia无法输入中文的解决

    安装dia后无法输入中文,解决如下: 修改/usr/bin/dia #dia-normal --integrated "$@" dia-normal "$@"

  7. Types of Computer Systems

    Types of Computer Systems Para 1 You should be familiar with the differences among computer systems ...

  8. JAVA串口开发帮助类分享-及写在马年末

    摘要: 在系统集成开发过程中,存在着各式的传输途径,其中串口经常因其安全性高获得了数据安全传输的重用,通过串口传输可以从硬件上保证数据传输的单向性,这是其它介质所不具备的物理条件.下面我就串口java ...

  9. PhoneGap实现重力感应

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. 【转】Linux如何查看JDK的安装路径

    http://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html 如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查 ...