1 概念

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

    去重,将一个列表装换成集合,会将其去重

    关系测试,测试两组数据的交集,差集,并集等关系。

  集合对象是一组无需排列的可哈希的值,集合成员可以作为字典的键。

  集合中的元素不可以是列表或字典

2 集合的创建

 s1 = set('hello word')
print(s1)
# {'o', 'e', 'h', 'w', 'd', 'l', ' ', 'r'} s2 = set(['hello', 'word'])
print(s2)
# {'word', 'hello'}

3 集合的访问

  由于集合是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in 、not in来访问判断集合元素

 s = set('hello word')
print('h' in s) # True
print('a' in s) # False
for i in s:
print(i)
# l
# d
# w
# h
# r
# e
#
# o

4 集合的更新

  可以用以下方法来更新集合

  s.add()

  s.update()

  s.remove()

  del: 可以删除集合本身

 # 集合的更新
s = set('hello word')
s.add('mm')
print(s) # {'r', 'd', 'w', 'l', 'mm', 'h', 'o', ' ', 'e'} s.update('AB')
print(s) # {'h', 'o', 'B', 'd', 'e', 'mm', 'r', ' ', 'l', 'w', 'A'} s.remove('h')
print(s) # {'B', 'mm', 'd', 'e', 'o', 'A', ' ', 'w', 'r', 'l'}

  注意:

 s = set([1, 2, 'word'])
s.update([12, 'aaa'])
print(s) # {1, 2, 12, 'word', 'aaa'}

5 集合类型操作符

  1 等价与不等价(==, !=)

 s1 = set('hello')
s2 = set('hellollo')
print(s1 == s2) # True

  2 子集,超集

 s1 = set('hello word')
s2 = set('hello')
print('h' in s1) # True
print(s2 < s1) # True

  注意

 print(set('hello') < set('hellollo'))  # False

  3 并集(|)

    联合(union)操作与集合的or操作其实是等价的,联合符号有个等价的方法 union()

 s1 = set('hello')
s2 = set('word')
s3 = s1 | s2
print(s3) # {'w', 'o', 'r', 'e', 'd', 'l', 'h'}
s4 = s1.union(s2)
print(s4) # {'w', 'o', 'r', 'e', 'd', 'l', 'h'}

  4 交集(&)

    与集合and等价,交集负号的等价方法是intersection()

 # 交集
s1 = set('hello')
s2 = set('word')
s3 = s1 & s2
print(s3) # {'o'}
s4 = s1.intersection(s2)
print(s4) # {'o'}

  5 差集(-)

    等价方法是difference()

 # 差集(-)
s1 = set('hello')
s2 = set('word')
s3 = s1 - s2
print(s3) # {'e', 'h', 'l'}
s4 = s1.difference(s2)
print(s4) # {'e', 'h', 'l'}

  6 对称差集(^)

    对称差集是集合的异或, 取得元素属于原来两个集合,但是不同时属于原来的两个集合,其等价方法是symmetric_difference()

 # 对称差集
s1 = set('hello')
s2 = set('world')
s3 = s1 ^ s2
print(s3) # {'r', 'h', 'w', 'e', 'd'}
s4 = s1.symmetric_difference(s2)
print(s4) # {'r', 'h', 'w', 'e', 'd'}

python基础语法之集合set的更多相关文章

  1. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

  2. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  3. Python基础语法题库

    引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...

  4. 尚学python课程---13、python基础语法

    尚学python课程---13.python基础语法 一.总结 一句话总结: legend2系统使我能够快速掌握一门语法,特别有用 pass 语句:空语句:是为了保持程序结构的完整性  :作用:比如: ...

  5. python基础语法(变量与数据类型)

    python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...

  6. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  7. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  8. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  9. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

随机推荐

  1. Phaserjs怎样用ES6开发游戏

    想用ES6语法开发phaserjs游戏,是phaserCE,但是不知道怎么导入,总是报错,后来经过多次尝试,解决方法如下: 干脆不导入,直接暴露到window里,然后模块化的代码全部在window.o ...

  2. 【GDSOI2019】滑稽二乘法【数据结构】【LCT】

    Description 点数<=100000,操作数<=200000 Solution 经典的LCT维护子树路径信息的问题. 具体来说,我们对于每一个节点,它在splay上的子树对应了原树 ...

  3. python中assert的用法

    assert:断言 格式: assert 表达式 [, 参数] 当表达式为真时,程序继续往下执行: 当表达式为假时,抛出AssertionError错误,并将  参数  输出 举例: def foo( ...

  4. Nginx配置记录【例2】

    B服务器,例: [root@localhost conf.d]# egrep -v "^#|^$" /etc/nginx/nginx.conf user nginx; worker ...

  5. iOS13即将到来,iOS推送Device Token适配方案详解

    关于提前适配iOS13 苹果推送DeviceToken的通知 随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用.iOS13的一个 ...

  6. springboot 集成 druid mybatis-plus

    通过这篇配置成功: https://www.cnblogs.com/shine-rainbow/p/9618100.html 不过 mybatis 3.4.6 一直maven下载失败,于是直接在官方那 ...

  7. 云服务器搭建anaconda pytorch torchvision

    (因为在普通用户上安装有些权限问题安装出错,所以我在root用户下相对容易安装,但是anaconda官网说可以直接在普通用户下安装,不过,在root下安装,其他用户也是能用的. 访问Anaconda官 ...

  8. leetcode-easy-math-13 Roman to Integer

    mycode  97.21% class Solution(object): def romanToInt(self, s): """ :type s: str :rty ...

  9. GetRGB下载

    下载地址:https://pan.baidu.com/s/11EyUPa2WxhIgdsTRZtj_eg 07年6-8月做的,用于屏幕取色. 2019年8月30日13点50分

  10. 全面解读PHP-数据结构

    一.常见数据结构 1.Array 数组 最简单且应用最广泛的数据结构之一 特性:使用连续的内存来存储,数组中的所有元素必须是相同的类型或类型的衍生(同质数据结构),元素可以通过下标直接访问. 2.Li ...