1. 遗漏知识点

深、浅拷贝:   http://www.cnblogs.com/yuanchenqi/articles/5782764.html

a=b:

浅拷贝:

深拷贝

集合(set)

集合的定义和应用

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

      • 去重,把一个列表变成集合,就自动去重了
      • 关系测试,测试两组数据之前的交集、差集、并集等关系
      • 集合对象是一组无序排列的可哈希(python中不可变的对象都是可哈希的)的值:集合成员可以做字典的键
      • 但集合本身是不可哈希的,不能用作字典的键

注:因为集合是无序的,所以只能通过迭代器或for循环取出其中的值

有关集合的一些操作(增删改查)

1.创建集合:可变集合set()和不可变集合frozenset()

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

s1=set('hello')
s2=set(['hello',1,2])
print('h' in s1)
print('h' in s2)
True
False

3. 更新集合:

可使用以下内建方法来更新:

s.add()  #添加一个元素
s.update()  #添加多个元素
s.remove()  #删除指定元素

s.pop()  #随机删除某一元素

s.clear()  #清空集合

注意只有可变集合才能更新:

 a=set([1,2,3,'hello'])
print(type(a))
a.add('uu')
a.add('u')
print(a)
结果:{1, 2, 3, 'u', 'hello', 'uu'}

s.add()

 a=set([1,2,3,'hello'])
print(type(a))
a.update('HO')
a.update('MM')
a.update([1,'MM'])
print(a)
结果:{1, 2, 3, 'hello', 'H', 'MM', 'O', 'M'}

s.update()

4. 删除集合

  del

集合关系测试

1 in ,not in
2 集合等价与不等价(==, !=)
3 子集(a<b)、超集(b>a)

子集(issubset) 超集(issuperset)

 print(set('venus')==set('venusnusnus'))
True
print(set('venus')<set('venus'))
False
print(set('venus')<set('venusyo'))
True

123

4.并集(I)

并集(union)操作也就是数学中的并集合运算,联合符号有个等价的方法,union()。

5.交集(&)

 交集(intersection)也就是数学中的交集运算,交集符号的等价方法是intersection()

 print(set('abc') & set('bcd'))
print(set('abc') | set('bcd'))
结果:{'c', 'b'}
{'c', 'd', 'b', 'a'}

联合、交集

6.差集(-)

 差集(difference)a-b=in a but not in b=a-a&b;b-a=in b but not in a=b-a&b

7.对称差集(^)

 对称差集(symmetric_difference)a^b=a|b-a&b 

 a=[1,2,3]
b=[3,4,5]
print(set(a).union(set(b)))
print(set(a).intersection(set(b)))
print(set(a).difference(set(b)))
print(set(a).symmetric_difference(set(b)))
结果:
{1, 2, 3, 4, 5}
{3}
{1, 2}
{1, 2, 4, 5}

      注:既可以使用符号也可以使用集合的方法

Day8 Python基础之遗漏知识点(六)的更多相关文章

  1. Python基础学习笔记(六)常用列表操作函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...

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

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

  3. Python之路,Day8 - Python基础 面向对象高级进阶与socket基础

    类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...

  4. Python基础学习参考(六):列表和元组

    一.列表 列表是一个容器,里面可以放置一组数据,并且列表中的每个元素都具有位置索引.列表中的每个元素是可以改变的,对列表操作都会影响原来的列表.列表的定义通过"[ ]"来定义,元素 ...

  5. python基础学习笔记(六)

    学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事. 基本语句的更多用法 使用逗号输出 >>> print 'age:',25 age: 25 ...

  6. Day8 - Python基础8 异常处理、反射、单例模式

    本节内容: 1:异常处理 2:反射 3:单例模式 1.异常处理  1.异常简介 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户 ...

  7. Python基础最难知识点:正则表达式(使用步骤)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 正则表达式,简称regex,是文本模式的描述方法.你可以在google上搜 ...

  8. python基础整理笔记(六)

    一. 关于hashlib模块的一些注意点 hashlib模块用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512, MD ...

  9. python基础篇---列表---知识点回顾

    列表:数据的集合,里面可以放任何的数据类型,可进行增删改查等操作 有序列表功能(index是列表的索引值): ①创建:用  []  表示,里面添加元素,如n2 = [1,2,4,5,5]:    或者 ...

随机推荐

  1. c/c++ new delete初探

    new delete初探 1,new有2个作用 开辟内存空间. 调用构造函数. 2,delete也有2个作用 释放内存空间 调用析构函数. 如果用new开辟一个类的对象的数组,这个类里必须有默认(没有 ...

  2. python中装饰器的原理

    装饰器这玩意挺有用,当时感觉各种绕,现在终于绕明白了,俺滴个大爷,还是要慢慢思考才能买明白各种的真谛,没事就来绕一绕 def outer(func): def inner(): print(" ...

  3. (转载)关于usr/bin/ld: cannot find -lxxx问题总结

    usr/bin/ld: cannot find -lxxx问题总结 linux下编译应用程序常常会出现如下错误:   /usr/bin/ld: cannot find -lxxx        意思是 ...

  4. C#批量向数据库插入数据

    程序中,批量插入数据有两种思路. 1.用for循环,一条一条的插入,经实测,这种方式太慢了(插入一万条数据至少都需要6-7秒),因为每次插入都要打开数据库连接,执行sql,关闭连接,显然这种方式不可行 ...

  5. IT部门不应该是一个后勤部门

    管理上最大的问题在于不重视预算与核算的管理.从管理层到员工,很少有经营的念头,只是一味地埋头做事.西方企业总结了当今几百年的经营理念,最终把企业一切活动的评价都归结到唯一的.可度量的标准上:钱来度量. ...

  6. 正在学习的Java大学教程

    推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...

  7. 如何使用JVisualVM进行性能分析

    地址:https://visualvm.dev.java.net/ 连接 1.本地机器的程序直接可以监听到 2.远程机器的程序需要加上JVM参数 -Dcom.sun.management.jmxrem ...

  8. Redis主从数据库同步

    Redis主从同步原理-SYNC和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采 ...

  9. linux+node.js+redis+mongodb+nginx环境的搭建

    1.推荐购买阿里云服务器,使用Centos7.0的服务器版本,在创建完全系统并进入之后,第一步是更新服务器的相关组件    yum -y install gcc gcc-c++ openssl-dev ...

  10. 【window】Windows10下为PHP安装redis扩展

    操作: 步骤1:D:\wamp\bin\apache\apache2.4.9\bin/php.ini中添加 ; php_redis extension=php_igbinary.dll extensi ...