Python s12 Day3 笔记及作业
1. Set集合
old_dict = {
"#1":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
"#2":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
"#3":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16}
}
new_dict = {
"#1":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':32},
"#3":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16},
"#4":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16}
}
old = set(old_dict.keys())
new = set(new_dict.keys())
update_set = old.intersection(new)
print("Update Set:",update_set)
#delete_set = old.difference(update_set) #difference是循环old,找出old中不在update_set中的元素
delete_set = old.symmetric_difference(update_set) #symmetric_difference是循环old和update_set, 找出两者中不在对方中的元素
print("delete set:",delete_set)
#add_set = new.difference(update_set)
add_set = new.symmetric_difference(update_set)
print("add set:",add_set)
2. Counter计数器
Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能和自己的功能。
import collections
obj = collections.Counter('aabbsdfsdgabadsf')
print(obj)
ret = obj.most_common(4)
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有序字典
import collections
dic = collections.OrderedDict()
dic['k1'] = 'v1'
dic['k2'] = 'v2'
dic['k3'] = 'v3'
print(dic)
----------------------------------
OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
4. defaultdict默认字典
为字典设置默认类型
dic = collections.defaultdict(list)
dic['k1'].append('wayne')
print(dic)
-----------------------------------
defaultdict(<class 'list'>, {'k1': ['wayne']})
5. 可命名元组
import collections
#创建类
MytupleClass = collections.namedtuple('Mytuple',['x','y','z'])
obj = MytupleClass(11,22,33)
print(obj.x, obj.y, obj.z)
6. deque双向队列
import collections
d = collections.deque(['', ''])
d.appendleft('')
print(d)
d.extend('')
print(d) 单向队列 Queue.Queue
单向队列双向队列都是线程安全的
7. 动态参数
def show(*args, **kwargs):
print(args, type(args))
print(kwargs, type(args)) l = [11,22,33,44]
d = {'a':1, 'b':2} show(l, d)
show(*l, **d)
------------------------------------
([11, 22, 33, 44], {'a': 1, 'b': 2}) <class 'tuple'>
{} <class 'tuple'>
(11, 22, 33, 44) <class 'tuple'>
{'a': 1, 'b': 2} <class 'tuple'>
keyword-only参数必须编写在**args任意关键字形式之前,且在*args任意位置形式之后(当二者都有的时候)。
无论何时,一个参数名称出现在*args之前,它可能是默认位置参数,而不是keyword-only参数:
def f(a,c=6,*b,**d): print(a,b,c,d)
>>>f(1,2,3,x=4)
1 (3,) 2 {'x':4}
Python s12 Day3 笔记及作业的更多相关文章
- Python s12 Day2 笔记及作业
1. 元组的元素不可修改,但元组的元素的元素可以被修改. 2. name="eric" print(name.center(20, "*") 3. list=[ ...
- Python s12 Day1 笔记及作业
作业一: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 python3代码 : # -*- coding:utf-8 -*- input_name = input("Please ...
- python s12 day3
python s12 day3 深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- python2.0 s12 day3
s12 day3 视频每节的内容 03 python s12 day3 本节内容概要 第三天的主要内容 上节没讲完的: 6.集合 7.collections 1)计数器 2)有序字典 3)默认字典 4 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 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 ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- python 正则使用笔记
python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...
- 【Python】:简单爬虫作业
使用Python编写的图片爬虫作业: #coding=utf-8 import urllib import re def getPage(url): #urllib.urlopen(url[, dat ...
随机推荐
- JDK+Apache+Tomcat+MySQL配置 一起来学习吧
配置JDK1.8+Apache2.4+Tomcat8.0+mySQL5.1,网上的资料非常繁杂,花费几天时间配置成功,汇总记录. 操作系统:CentOS6.5 预先下载最新版软件: apache-to ...
- Python内存优化
实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ...
- 银河麒麟操作系统U盘手动挂载,出现乱码
使用银河麒麟操作系统,U盘手动挂载,U盘中中文字符显示为乱码?? 对于银河麒麟操作系统的这一问题,可能是因为字符集的原因,需要在mount后加参数: sudo mount –o iochar ...
- mysql:ip地址连接
2. 为用户授权 授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 2.1登录MYSQL(有ROOT权限),这里以ROO ...
- java与32/64位虚拟机
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt232 32位电脑与64位电脑有什么不同? 我们通常说的64位技术是相对于32 ...
- 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式
32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 1.没有代码提醒功能 2.编写代码很慢,记不住各 ...
- hdu 2066 最短路水题
题意:给出多个可选择的起始点和终点,求最短路 思路:执行起始点次的spfa即可 代码: #include<iostream> #include<cstdio> #include ...
- 自制OSPF配置实验大全
OSPF综合实验(gns模拟器) 注意点: Ospf实验推荐用gns制作 //图中的交换机可以视觉忽略或缩小成一个点.(^ v^) Ospf 实验拓扑图 目录 OSPF综合实验... 1 Os ...
- Python并发编程协程(Coroutine)之Gevent
Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译 ...
- [2017BUAA软工助教]收集个人信息
如题 我们要收集三个东西 1.学号 2.Github地址 ① 3.博客园博客地址 ② 请各位同学自行创建,并按照如下的格式评论在这篇博客下 "14061195+https://github. ...