zoukankan      html  css  js  c++  java
  • Python 常用函数

    Python 常用函数

    python zip函数说明

    zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。
    ①tuple的新序列
    >>>>x=[1,2,3],y=['a','b','c']
    >>>zip(x,y)
    [(1,'a'),(2,'b'),(3,'c')]

    ②新的序列的长度以参数中最短的序列为准.
    >>>>x=[1,2],y=['a','b','c']
    >>>zip(x,y)
    [(1,'a'),(2,'b')]

    ③(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。
    >>>>x=[1,2,3],y=['a','b','c']
    >>>>zip(*zip(x,y))
    [(1,2,3),('a','b','c')]

     2. python 内建函数map说明

      map(functioniterable...)

       map接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表。  

     假如你从文件中读取多行数据,而每行数据是如下的格式:

     59.4    60.4    58.4      120.2   121.2   119.2

    data = []

    f=open('a.txt')

    for line in f.readlines():

         data.append(map(float, line.split()))

     字符串的split方法用来将字符串分割成序列。

     3.Python为string对象提供了转换大小写的方法:upper() 和 lower()。还不止这些,Python还为我们提供了首字母大写,其余小写的capitalize()方法,以及所有单词首字母大写,其余小写的title()方法。

    s = 'hEllo pYthon' 
    print s.upper() 
    print s.lower() 
    print s.capitalize() 
    print s.title() 
    

     输出结果: 
     HELLO PYTHON 
     hello python 
     Hello python 
     Hello Python 

     判断大小写 
     Python提供了isupper(),islower(),istitle()方法用来判断字符串的大小写。注意的是:如果对空字符串使用isupper(),islower(),istitle(),返回的结果都为False

     4. Python中*args和**kwargs的用法

    先来看个例子:

    def foo(*args, **kwargs):
        print 'args = ', args
        print 'kwargs = ', kwargs
        print '---------------------------------------'
    
    if __name__ == '__main__':
        foo(1,2,3,4)
        foo(a=1,b=2,c=3)
        foo(1,2,3,4, a=1,b=2,c=3)
        foo('a', 1, None, a=1, b='2', c=3)
    输出结果如下:

    args =  (1, 2, 3, 4) 
    kwargs =  {} 
    --------------------------------------- 
    args =  () 
    kwargs =  {'a': 1, 'c': 3, 'b': 2} 
    --------------------------------------- 
    args =  (1, 2, 3, 4) 
    kwargs =  {'a': 1, 'c': 3, 'b': 2} 
    --------------------------------------- 
    args =  ('a', 1, None) 
    kwargs =  {'a': 1, 'c': 3, 'b': '2'} 
    ---------------------------------------

    可以看到,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

    呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典:

        def kw_dict(**kwargs):
            return kwargs
        print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}

    其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。

  • 相关阅读:
    ResourceBundle读取utf-8格式properties 中文乱码
    jquery checkbox选中
    扩展RBAC用户角色权限设计方案<转>
    Java调用doNet webService方法
    Mybatis批量更新<转>
    Json转list,两种包,两种方式
    win8.1 64位安装oracle10g客户端心得
    关于JXL读写以及修改EXCEL文件<转>
    Oracle主表列表上显示从表字段拼成的字符串
    ExtJS获取Grid的行数
  • 原文地址:https://www.cnblogs.com/heshan664754022/p/2955699.html
Copyright © 2011-2022 走看看