码迷,mamicode.com
首页 > 编程语言 > 详细

python Day3

时间:2015-11-12 23:27:47      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:

元素分类练习
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)

 

python Day3

标签:

原文地址:http://www.cnblogs.com/plzros/p/4960452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!