作用:去重,关系运算,

#定义集合:

集合:可以包含多个元素,用逗号分割,

集合的元素遵循三个原则:

1:每个元素必须是不可变类型(可hash,可作为字典的key)

2: 没有重复的元素

3:无序

注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

#1 集合定义

s={1,3.1,'aa',(1,23),} # s=set({1,3.1,'aa',(1,23),}) s=set() 空集合

# print(s,type(s))

>>> s={2,3,4}

>>> type(s)

>>> s

set([2, 3, 4])

>>> s={1,2,3,2,2,1}#自动去重(集合中的元素不重复)

>>> s

set([1, 2, 3])

>>> s={1,2,3}#可以通过这样的形式生成一个非空集合

>>> s

set([1, 2, 3])

#2如何生成一个空集合呢?>>> s={}#这样做生成的是空字典,并不是空集合>>> s{}>>> type(s)

可以这样生成空集合>>> s=set([])#将空列表转化成空集合>>> sset([])>>> s=set(())#也可以将空元组转化成空集合>>> sset([])

2》将列表或元组转换成集合>>> l=range(10)>>> l[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> s=set(l)#将列表转化成集合>>> sset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>>> l[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> l[0]#列表有序,通过下标访问元素0>>> s[0]#集合无序,不支持下标访问Traceback (most recent call last): File "", line 1, in s[0]TypeError: 'set' object does not support indexing>>> t=(1,2,3,4,3,2)>>> s=set(t)#将元组转换成集合(自动去重)set([1, 2, 3, 4])

#3 set类型对象的内置方法

add()增加一个元素

In [41]: s1 = set(range(10))

In [42]: s1

Out[42]: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

In [43]: s1.add(10)

In [44]: s1

Out[44]: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

remove()删除一个元素

指定删除set对象中的一个元素,如果集合中没有这个元素,则返回一个错误。

In [47]: s1

Out[47]: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

In [48]: s1.remove(0)

In [49]: s1

Out[49]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

pop()随机删除并返回一个元素

随机删除并返回一个集合中的元素,若集合为空,则返回一个错误。

In [65]: s2 = set(['j','m','i','l','k'])

In [66]: s2.pop()

Out[66]: 'i'

In [67]: s2.pop()

Out[67]: 'k'

discard()删除一个元素

指定删除集合中的一个元素,若没有这个元素,则do nothing。

In [90]: s1

Out[90]: {1, 2, 3, 4, 5, 6, 7, 8, 9}

In [91]: s1.discard(1)

In [92]: s1

Out[92]: {2, 3, 4, 5, 6, 7, 8, 9}

In [93]: s1.discard('abc')

In [94]: s1

Out[94]: {2, 3, 4, 5, 6, 7, 8, 9}

clear()清空一个集合中的所有元素

In [94]: s1

Out[94]: {2, 3, 4, 5, 6, 7, 8, 9}

In [95]: s1.clear()

In [96]: s1

Out[96]: set()

update()更新并集:update()方法没有返回值。

In [111]: s1.update(s2,s3)

In [112]: s1

Out[112]: {1, 2, 3, 4, 5, 8, 9, 10, 'a', 'b', 'c', 'd', 'de', 'f'}

# 4 常用操作+内置的方法

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}

linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}

# 取及报名python课程又报名linux课程的学员:交集

# print(pythons & linuxs)

# print(pythons.intersection(linuxs))

# 取所有报名老男孩课程的学员:并集

# print(pythons | linuxs)

# print(pythons.union(linuxs))

# 取只报名python课程的学员: 差集

# print(pythons - linuxs)

# print(pythons.difference(linuxs))

# 取只报名linux课程的学员: 差集

# print(linuxs - pythons)

# print(linuxs.difference(pythons))

# 取没有同时报名两门课程的学员:对称差集

# print(pythons ^ linuxs)

# print(pythons.symmetric_difference(linuxs))

# 是否相等

# s1={1,2,3}

# s2={3,1,2}

# print(s1 == s2)

# 父集:一个集合是包含另外一个集合

# s1={1,2,3}

# s2={1,2}

# print(s1 >= s2)

# print(s1.issuperset(s2))

# s1={1,2,3}

# s2={1,2,4}

# print(s1 >= s2)

# 子集

# s1={1,2,3}

# s2={1,2}

# print(s2 <= s1)

# print(s2.issubset(s1))

python基础包括什么-Python基础-数据类型总结归纳.相关推荐

  1. python基础包括什么-Python基础题

    1.一行代码实现1--100之和 利用sum()函数求和 >>> sum(range(0,101))5050 2.如何在一个函数内部修改全局变量 利用global 修改全局变量 a ...

  2. python基础包括什么-python中f是什么

    python中的f是format函数的缩写,用于格式化输出. format函数常见的用法是str.format(),其基本语法是通过{}和:来代替以前的%. 示例:>>>" ...

  3. python基础包括什么-Python基础教程 模块包含什么

    10.2 探索模块 介绍一些标准库模块前,先来说说如何探索模块.这是一种很有用的技能,因为在你的Python程序员职业生涯中,将遇到很多很有用的模块,而这里无法一一介绍.当前的标准库很大,足以编写专著 ...

  4. python对象包括哪些,Python | 对象和类

    Python之对象和类 1. 什么是对象 2. 使用class定义类 如果把类比作塑料盒子,类则像是制作和自用的模具.例如,Python的内置类String可以创建像'cat'和'duck'这样的字符 ...

  5. python怎么打开编辑器-python用什么编辑器进行项目开发

    工欲善其事必先利其器,估计大部分的pythoner都是从python IDE开始了python之路.有很多的python IDE工具可以用,但是要从中选出一个用着趁手的IDE却是一项艰巨的任务. 你可 ...

  6. ora-00923数据类型不一致_小白学 Python(2):基础数据类型(上)

    如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,获取最新干货推送:) 人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基 ...

  7. 小白学 Python(2):基础数据类型(上)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...

  8. Python基础第三课-基本数据类型

    Python基础第三课-基本数据类型 1.几个基本概念 1.1 表达式 1.2 语句 1.3 程序(program) 1.4 函数(function) 2.标识符 2.1 关键字 2.2 标识符概念 ...

  9. Python基础——1.变量和简单数据类型

    Python基础--1.变量和简单数据类型 1.0 前言 1.1 运行hello.py 1.2 变量 1.2.1 变量的命名和使用 1.2.2 使用变量时避免命名错误 1.3 字符串 1.3.1 使用 ...

最新文章

  1. 模拟jQuery构造对象
  2. 【Linux】Linux 文件中^M字符处理
  3. 四十五、深入Java的网络编程(上篇)
  4. 2699!Redmi Note 11潮流限定版再次发售:全球首发“全系悬浮工艺”
  5. 三分钟快速理解javascript内存管理
  6. Java 读写txt文件 中文乱码问题
  7. python中用正则表达式检查密码是否安全
  8. 操作系统原理实验一(一)
  9. Cocos2d-x 着色器
  10. pycharm 中 import sys 失败的原因 (python)
  11. 【译】基于 Rust 用 Bevy 实现节奏大师游戏
  12. java put 语句_Java put语句
  13. 自动化工具之UIAutomator
  14. 入门 - 01- Java帝国的诞生
  15. 依托同济大学建设的中国(上海)数字城市研究院揭牌成立
  16. Redis 作 mysql 的缓存服务器及redis的高可用
  17. 真正靠谱的手机清理APP与方法,轻松帮你干掉几个G垃圾!
  18. 15 路由器综合路由配置
  19. 区块链安全和隐私问题有点与众不同
  20. java el 表达式_Javaweb之EL表达式

热门文章

  1. ELKStack入门篇(三)之logstash收集日志写入redis
  2. adore-ng笔记和Linux普通用户提权
  3. Thymeleaf 常用属性
  4. Access restriction: The method createJPEGEncoder(OutputStream) from the type JPEGCodec is not access
  5. iOS Block总结
  6. HttpClient 教程 (二)
  7. SAP物料价格评估与成本计算体系
  8. 有关协同开发实际工作的问题
  9. 闪回恢复区 (Flash Recovery Area)
  10. python使用符号 表示单行注释-Python注释符号(多行注释和单行注释)用法详解...