封装与解构 集合

封装和解构

封装:将多个值进行分割,结合在一起,本质上返回元组,只是省掉了小括号

‘==‘意思为内容一致,‘=’意思为内存空间一致

解构:把线性结构的元素解开,并顺序的赋值给其他变量,左边接纳的变量数要和左边解开的元素数量一致

集合不是非线性

解构中使用*变量名接收,但不能单独使用,被*变量名收集后组成一个列表

第一个下划线为9,结果被第二个下划线重新赋值为8,7 所以最后的下划线结果为8,7

集set

可变的,无序的,不重复的元素集合

Collection翻译为集合,是一个大概念

S=set()定义集合,集合中元素不能用列表和bytearry, 集合中元素必须可hash,若不可hash则不能放入集合中作为元素,set也不可哈希;set元素不可索引,可以迭代

S={}定义字典

Add():增加一个元素,若元素存在什么都不做

Update(*other):合并其他元素到集合中,other为可迭代对象,可对多个可迭代对象进行添加,就地修改

S.discard():删除一个元素,若不存在,也不会报错

s.remove():删除一个元素,若不存在则报错

s.pop():随机弹出一个元素,里边不能有参数

s.clear():清空

in和not in判断元素是否在集合中

 

集合

并集:多个集合合并的结果,返回和多个集合合并后的新的集合运算符为|,等同union

交集:多个集合的公共部分,返回和多个集合的交集,运算符为&,等同intersection

差集:集合中除去和其他集合公共部分,返回和多个集合的差集,运算符为-,等同difference

对称差集:集合A和B,由所有不属于A和B的交集元素组成的集合,运算符为^,等同symmetric_difference

集合运算:

Issubset(other),<=:判断当前集合是不是另一个集合的子集

Issuperset(other),>=:判断当前集合是否是other的超集

Isdisjoint(other):当前集合和另一个集合没有交集,没有交集返回True

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94153

(0)
DrueDrue
上一篇 2018-04-01 10:10
下一篇 2018-04-01 10:27

相关推荐

  • Python高阶函数及装饰器

    First Class Object 函数在Python中是一等公民 函数也是对象,可调用的对象 函数可作为普通变量、参数、返回值等 高阶函数 数学定义:y=g(f(x)) 高阶函数需满足的条件,至少其一 接受一个或多个函数作为参数 输出一个函数 内建函数的高阶函数 排序:sorted(iterable[,key][,reverse]) 返回一个新列表,对一…

    2018-04-22
  • 面向对象,魔术方法

    面向对象 一面向对象 什么是面向对象: 一种认识世界、分析世界的方法论。将万事万物抽象为类。 类class: 类是抽象的概念,是万事万物的抽象,是一类事物的共同集合的集合。 用计算机语言来描述类,就是属性和方法的集合。 对象instance,object: 对象是类的具象,是一个实体。 每个个体都是抽象类的不同实体。 哲学 一切皆对象 对象是数据和操作的封装…

    Python笔记 2018-05-14
  • python中 ‘is’ 和 ‘==’ 区别

    id –> 唯一身份标识符, is比较的是id, ==比较的是value 

    2018-04-16
  • 高阶函数

    高阶函数
    柯里化
    装饰器、文档字符串
    functools 模块 inspect 模块

    2018-04-25
  • Python 部分知识点总结(二)

    此篇博客只是记录第四周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-03-30
  • Python第二周小结

    不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特…

    Python笔记 2018-03-31