1. Set集合

  1. old_dict = {
  2. "#1":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
  3. "#2":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
  4. "#3":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16}
  5. }
  6. new_dict = {
  7. "#1":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':32},
  8. "#3":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
  9. "#4":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16}
  10. }
  11.  
  12. old = set(old_dict.keys())
  13. new = set(new_dict.keys())
  14. update_set = old.intersection(new)
  15. print("Update Set:",update_set)
  16. #delete_set = old.difference(update_set) #difference是循环old,找出old中不在update_set中的元素
  17. delete_set = old.symmetric_difference(update_set) #symmetric_difference是循环old和update_set, 找出两者中不在对方中的元素
  18. print("delete set:",delete_set)
  19. #add_set = new.difference(update_set)
  20. add_set = new.symmetric_difference(update_set)
  21. print("add set:",add_set)

2. Counter计数器

Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能和自己的功能。

  1. import collections
  2. obj = collections.Counter('aabbsdfsdgabadsf')
  3. print(obj)
  4. ret = obj.most_common(4)
  5. print(ret)
    -----------------------------------
    Counter({'a': 4, 'b': 3, 's': 3, 'd': 3, 'f': 2, 'g': 1})
    [('a', 4), ('b', 3), ('s', 3), ('d', 3)]

3. OrderedDict有序字典

  1. import collections
  2. dic = collections.OrderedDict()
  3. dic['k1'] = 'v1'
  4. dic['k2'] = 'v2'
  5. dic['k3'] = 'v3'
  6. print(dic)
    ----------------------------------
    OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])

4. defaultdict默认字典

为字典设置默认类型

  1. dic = collections.defaultdict(list)
  2. dic['k1'].append('wayne')
  3. print(dic)
  4. -----------------------------------
  5. defaultdict(<class 'list'>, {'k1': ['wayne']})

5. 可命名元组

  1. import collections
  2. #创建类
  3. MytupleClass = collections.namedtuple('Mytuple',['x','y','z'])
  4. obj = MytupleClass(11,22,33)
  5. print(obj.x, obj.y, obj.z)

6. deque双向队列

  1. import collections
  2. d = collections.deque(['', ''])
  3. d.appendleft('')
  4. print(d)
  5. d.extend('')
  6. print(d)
  7.  
  8. 单向队列 Queue.Queue
    单向队列双向队列都是线程安全的

7. 动态参数

  1. def show(*args, **kwargs):
  2. print(args, type(args))
  3. print(kwargs, type(args))
  4.  
  5. l = [11,22,33,44]
  6. d = {'a':1, 'b':2}
  7.  
  8. show(l, d)
  9. show(*l, **d)
  10. ------------------------------------
  11. ([11, 22, 33, 44], {'a': 1, 'b': 2}) <class 'tuple'>
  12. {} <class 'tuple'>
  13. (11, 22, 33, 44) <class 'tuple'>
  14. {'a': 1, 'b': 2} <class 'tuple'>

keyword-only参数必须编写在**args任意关键字形式之前,且在*args任意位置形式之后(当二者都有的时候)。

无论何时,一个参数名称出现在*args之前,它可能是默认位置参数,而不是keyword-only参数:

  1. def f(a,c=6,*b,**d): print(a,b,c,d)
  2. >>>f(1,2,3,x=4)
  3. 1 3,) 2 {'x':4}

Python s12 Day3 笔记及作业的更多相关文章

  1. Python s12 Day2 笔记及作业

    1. 元组的元素不可修改,但元组的元素的元素可以被修改. 2. name="eric" print(name.center(20, "*") 3. list=[ ...

  2. Python s12 Day1 笔记及作业

    作业一: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 python3代码 : # -*- coding:utf-8 -*- input_name = input("Please ...

  3. python s12 day3

    python s12 day3   深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  4. python2.0 s12 day3

    s12 day3 视频每节的内容 03 python s12 day3 本节内容概要 第三天的主要内容 上节没讲完的: 6.集合 7.collections 1)计数器 2)有序字典 3)默认字典 4 ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具

    c#实例化继承类,必须对被继承类的程序集做引用   0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...

  7. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  8. python 正则使用笔记

    python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...

  9. 【Python】:简单爬虫作业

    使用Python编写的图片爬虫作业: #coding=utf-8 import urllib import re def getPage(url): #urllib.urlopen(url[, dat ...

随机推荐

  1. wifi pineapple 外接USB无线网卡桥接外网

    0:选择USB网卡 在没有有线网络的情况下,可以外挂一个usb无线网卡来桥接上网,目前支持3070L.8187L芯片的网卡,反正linux系统都用这些芯片, 免的安装驱动, 我选择的是 WN-722N ...

  2. Ubuntu Docker Registry 搭建私有仓库

    服务器版本 Ubuntu 16.04 LTS. 安装命令: $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --rest ...

  3. Python Requests: Invalid Header Name 解决方法

    这几天在练习python,并且用到了Requests,不得不说真的比urllib 方便了很多啊,简直有点事半功倍的感觉 言归正传,(好像上面的话也没多歪啦~~~~~) 简单叙述下我的script 流程 ...

  4. MySQL(六)之MySQL常用操作符

    前言 在前面的MySQL学习中,我们学习了MySQL的安装,管理以及配置,还有是它的DDL.今天给大家分享一下,MySQL的操作符和它的函数这部分. 千里之行始于足下,做什么事情都要脚踏实地的去做才能 ...

  5. Maven 中央仓库及阿里云仓库地址

    Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ 3. http://repo1.maven.o ...

  6. ASP.NET Excel导入Sql Server数据库(转)

    先看界面图 实现的基本思想: 1,先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹. 2,使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Exce ...

  7. Django1.10主题指南—模型

    模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和操作行为.通常,每个模型都对应着数据库中的唯一一张表. 基础认识: 每个model都是一个继承 django.db.models.M ...

  8. JSP学习(一)之中文乱码问题的解决

    一.响应中的乱码 我们所看到的页面,是由服务器把内容放入响应(response)中,然后发送给浏览器的.如果响应中的数据无法被正常解析,就会出现中文乱码.为什么英文不存在乱码问题?因为无论是ISO-8 ...

  9. 201521123100 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 1.本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  10. 201521123023《Java程序设计》第11周学习总结

    1. 本周学习总结 Lock.Condition,互斥同步访问方法,相比于synchronized,相似的wait().notify().notifyAll()方法,还有更多高级的方法 Executo ...