python collections,函数等笔记

笔记

 1 # -*- coding:utf-8 -*-
 2 #需求:一个列表里大于66的元素添加字典的第二个key k2里,小于66的添加第一个 key k1里
 3 li = [1,2,3,4,5,6,67,7,8,98,11,22,33,44,55,66,77,88,99,111,222,333,444,555,666]
 4 dic = {}
 5 for item in li:
 6     if item >60:
 7         if 'k2' in dic.keys():
 8             dic['k2'].append(item)
 9         else:
10             dic['k2']=[item,]
11     else:
12         if 'k1' in dic.keys():
13             dic['k1'].append(item)
14         else:
15             dic['k1']=[item,]
16 print dic
17 #根据一个文件里的内容,得到如下结果
18 #内容:
19 '''
20 guigu|123|1
21 xiaoxiao|123|1
22 lala|123|1
23 #结果'''
24 '''
25 {'xiaoxiao': ['123', '1'],
26  'guigu': ['123', '1'],
27  'lala': ['123', '1']}
28 '''
29 #打开文件,读取文件
30 obj = file('file.txt','r')
31 line_list = obj.readlines()
32 obj.close()
33 dicc = {}
34 #line_list = ['guigu|123|1\n', 'xiaoxiao|123|1\n', 'lala|123|1']
35 for line in line_list:#一行一行循环文件
36     #guigu|123|1
37     line = line.strip()#去除前后空格
38     #["guigu","123","1"]
39     ele_list = line.split('|')#转换成列表
40     dicc[ele_list[0]] = ele_list[1:]#添加到dicc字典
41 
42 #collections
  collections.namedtuple#实现以x,y的方式显示
43 #计数器
44 有序字典
45 无序字典
46 #
47 (1,4)
48 x=1,y=4
49 可变元组
50     1.创建有两个元素可命名类
51     mytuple = collections.namedtuple('mytuple,['x','y']')
52 
53     2.使用类创建对象
54     3.使用对象
55 
56 双向队列
57     两边都可以存取
58     线程安全
59 单项队列
60     只能从一边取存
61     线程安全
62 
63 #函数
64     1.def定义函数关键字
65     2.函数名,日后通过函数名调用该函数
66     3.函数声明,不自动执行,调用后才执行
67     4.函数的参数
68     5.函数的返回值
69 返回值
70     1.未明确制定返回值,返回none
71     2.返回值可以赋值给某个变量
72 参数
73     普通参数
74         形式参数
75         实际参数
76     默认参数
77         不传则使用默认
78         默认参数必须放在参数列表最后,默认参数可以有多个
79     动态参数一
80         def func(*args):
81             1.接收多个参数
82             2.内部自动构造元组
83             3.序列,*,避免内部构造元组#如传个列表 fun从(*li)
84     动态参数二
85         def func(**args):
86             1.传值方式#func(k1=123,k2=456)
87             2.传入个字典#dic={'k1':123,'k2':456};func(**dic)
88         format的实现方式一样的如:
89             s = "i am {0},age{1}"
90             s.format('guigu','20')
91             s = 'i am {name,age{}}'
92             s.format(name='guigu',age=20)
93       
94 参数可以有多个,传入个数的参数
 编码转换过程

 

posted @ 2016-12-04 15:23  程序员同行者  阅读(268)  评论(0编辑  收藏  举报