python2
python s12 day2
入门知识拾遗
http://www.cnblogs.com/wupeiqi/articles/4906230.html
基本数据类型
注:查看对象相关成员 var,type,dir
一、整数
如: 18、73、84
每一个整数都具备如下功能:
int二、长整型
可能如:2147483649、9223372036854775807
每个长整型都具备如下功能:
long三、浮点型
如:3.14、2.88
每个浮点型都具备如下功能:
float四、字符串
如:'wupeiqi'、'alex'
每个字符串都具备如下功能:
str注意:3.x 里translate方法变成只有一个参数,2.x里有2个参数哈。
五、列表
如:[11,22,33]、['wupeiqi', 'alex']
每个列表都具备如下功能:
list六、元组
如:(11,22,33)、('wupeiqi', 'alex')
每个元组都具备如下功能:
tuple七、字典
如:{'name': 'wupeiqi', 'age': 18} 、{'host': '2.2.2.2', 'port': 80]}
ps:循环时,默认循环key
每个字典都具备如下功能:
dict练习:
|
1
2
|
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1': 大于66 , 'k2': 小于66} |
八、set集合
set是一个无序且不重复的元素集合
set练习:寻找差异
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 数据库中原有old_dict = { "#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }, "#2":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 } "#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }} # cmdb 新汇报的数据new_dict = { "#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 800 }, "#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 } "#4":{ 'hostname':c2, 'cpu_count': 2, 'mem_capicity': 80 }} 需要删除:?需要新建:?需要更新:? 注意:无需考虑内部元素是否改变,只要原来存在,新汇报也存在,就是需要更新 |
democollections系列
一、计数器(counter)
Counter是对字典类型的补充,用于追踪值的出现次数。
ps:具备字典的所有功能 + 自己的功能
|
1
2
3
|
c = Counter('abcdeabcdabcaba')print c输出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1}) |
Counter二、有序字典(orderedDict )
orderdDict是对字典类型的补充,他记住了字典元素添加的顺序
OrderedDict三、默认字典(defaultdict)
defaultdict是对字典的类型的补充,他默认给字典的值设置了一个类型。
defaultdict练习:
|
1
2
|
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1': 大于66 , 'k2': 小于66} |
原生字典
默认字典四、可命名元组(namedtuple)
根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型。
|
1
2
3
|
import collections Mytuple = collections.namedtuple('Mytuple',['x', 'y', 'z']) |
Mytuple五、双向队列(deque)
一个线程安全的双向队列
deque注:既然有双向队列,也有单项队列(先进先出 FIFO )
Queue.Queue
浙公网安备 33010602011771号