zoukankan      html  css  js  c++  java
  • 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
    ', 'xiaoxiao|123|1
    ', '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 参数可以有多个,传入个数的参数
     编码转换过程
    
    
  • 相关阅读:
    CentOS7升级系统内核
    ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)
    Android Studio小技巧
    ASP.NET 预编译笔记
    EnyimMemcached(64位)使用实例
    SQL Server Profiler小技巧——筛选请求
    [疑难杂症]解决实际开发中各种问题bug
    [整理]EF6.X更新了什么(版本历史中文版)
    史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~
    微信开发调试小工具进化→微信用户发送信息模拟器发布!——这标题起真是好数码暴龙的说
  • 原文地址:https://www.cnblogs.com/guigujun/p/6130894.html
Copyright © 2011-2022 走看看