标签:
元素分类练习
ll = [11,22,33,44,55,66,77,88,99]
aa = {‘k1‘:[],‘k2‘:[]}
for i in ll:
if i <= 66:
aa[‘k1‘].append(i)
else:
aa[‘k2‘].append(i)
print aa
方法二
ll = [11,22,33,44,55,66,77,88,99]
dic = {}
for i in ll:
if i > 66:
if k2 in dic.keys():
dic[‘k2‘].append(i)
else:
dic[‘k2‘] = [i,] #创建只有一项元素的列表
else:
if k1 in dic.keys():
dic[‘k1‘].append(i)
else:
dic[‘k1‘] = [i,]
print dic
文件版
obj = file(‘log.txt‘,‘r‘)
line_list = obj.readlines()
obj.close()
print line_list
#line_list = [‘alex|123|1\n‘,‘eric|123|1\n‘,‘tony|123|1‘]
dic = {}
for line in line_list:
line = line.strip()
print line
new_line = line.split(‘|‘)
print new_line
dic[new_line[0]] = new_line[1:]
print dic
#collection
counter #计数器 是字典类型的补充 用于追踪值出现的次数
具有字典的所有功能
import collections
c1 = collections.Counter()
aa = ‘qweqfvro‘
bb = [11,222,22,1,11,44,22,333]
c1 = collections.Counter(bb)
print c1
c1.elements()
for i in c1.elements():
print i
###有序字典
o1 = collections.OrderedDict() #定义o1为有序字典
###默认字典
o1 = collections.defaultdict(list) #设置字典里value 默认类型为空列表[]
o1[‘k1‘].append(1)
###可命名的元组
(1,4)
(x=1,y=2,z=y)
创建类-使用类创建对象-使用对象
Mytuple = collections.namedtuple(‘Mytuple‘,[‘x‘,‘y‘])
#old = tuple([1,2]) <==> old = (1,2)
new = Mytuple(1,2)
print new,new.x,new.y
###双向队列
q = collections.deque()
q.append(665)
q.append(12)
q.append(33)
q.append(585)
print q
print q.pop(),q.popleft()
print q
###单向队列(生产者消费者队列)
队列,先进先出 FIFO
栈,弹夹模式 后进先出
import Queue
q = Queue.Queue(10)
q.put(1)
q.put(2)
q.put(3)
q.get()
###迭代器
c1 = collections.Counter(‘aasdfasff‘)
d1 = c1.elements()
d1需要通过迭代器取值
###生成器
xrange()
不创建数据 制定范围
###
li = [11,22,33,44,55,66]
for i in range(len(li)):
print li[i]
###函数
vars()查看当前模块的所有变量
all() 接受一个序列,判断,如果都为真,返回True
any() 判断,有一个为真,返回True
bool() a = ‘‘ bool(a) <==> False
转换
chr
ord
hex #16进制
oct #8进制
bin #2进制
enumerate() #循环序列,数字的起始值
li = [11,22,33,44]
for k,v in enumerate(li,1):
print k,v
#自定义函数
定义函数的关键字
通过函数名调用
函数声明,不自动执行,调用执行
函数参数
普通参数
默认参数 必须放在最后 可以有多个
动态参数
def func(*args):
print args
接受多个参数
内部自动构造元组
如果func(*list),避免自动构造元组
def func(**kwargs):
print kwargs
func(k1 = 1,k2 = 2)
dic = {‘k1‘:1,‘k2‘:2}
func(**dic),构造成字典
def func(*args,**kwargs):
函数的返回值 return
未明确指定返回值,返回None
返回值可以赋值给某个变量
def email(aa,cc,dd=‘abc‘): #aa为形式参数,无意义 dd设置了默认参数为abc
print aa
if __name__ == ‘__main__‘:
cpu = 100
for i in range(3):
if cpu > 90:
bb = "cpu bao le"
email(bb)
###文件操作
obj = open(‘log‘,‘r+‘)
obj.seek(5) #指针从第五位开始
print obj.tell() #显示指针位置
print obj.write(‘11111’) #从指针处开始替换
print obj.tell()
print obj.truncate() #从指针处截断 保留前半部分
obj.close()
#with 文件打开不需要自动close
with open(‘log‘,‘r‘) as f:
f.write(‘xxxxxx‘)
同时打开2个文件
with open(‘log1‘,‘r‘) as obj1,open(‘log2‘,‘w‘) as obj2:
for line in line obj1:
new_line = line.replace(‘1.1.1.1‘,‘2.2.2.2‘)
obj2.write(new_line)
标签:
原文地址:http://www.cnblogs.com/plzros/p/4960452.html