常用内置函数 zip、map、sorted、filter、enumerate

Python全部内置函数

Python 解释器内置了很多函数和类型,您可以在任何时候使用它们。以下按字母表顺序列出它们。

内置函数
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slice()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() import()
complex() hasattr() max() round()

Python常用内置函数

zip()

  • 描述

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

  • 语法

    zip([iterable, ...])

  • 参数

    iterable – 一个或多个迭代器

  • 返回值

    返回一个对象

  • 实例

    >>> lst1 = [1,2,3,4,5]
    >>> lst2 = ['A','B','C','D','E']
    >>> lst = list(zip(a,b))
    >>> lst
    [(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'E')]
    
    >>> a,b = zip(*lst)
    >>> a
    (1, 2, 3, 4, 5)
    >>> b
    ('A', 'B', 'C', 'D', 'E')
    

map()

  • 描述

    返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。 如果传入了额外的 iterable 参数,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项。 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束

  • 语法

    map(function, iterable, ...)

  • 参数

    function – 函数
    iterable – 一个或多个序列

  • 返回值

    返回一个迭代器

  • 实例

    >>> lst = [2,4,6,8,10]
    >>> lst = map(lambda x:x**2,lst)
    >>> print(list(lst))
    [4, 16, 36, 64, 100]
    
    # 计算两个列表相应位置的 和
    >>> lst = map(lambda x,y:x+y,[1,2,3,4],[6,7,8,9])
    >>> print(list(lst))
    [6, 8, 10, 12]
    

sorted()

  • 描述

    对所有可迭代的对象进行排序操作

  • 语法

    sorted(iterable, key=None, reverse=False)

  • 参数

    iterable – 可迭代对象。
    key – 指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键进行排序
    reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)

  • 返回值

    返回重新排序的列表

  • 实例

    # 根据文件名中的数字进行排序
    >>> files_name = ['py1.py','py10.py','py2.py','py5.py','py14.py']
    >>> lst =sorted(files_name,key=lambda x:int(x[2:-3]))
    >>> lst
    ['py1.py', 'py2.py', 'py5.py', 'py10.py', 'py14.py']
    

filter()

  • 描述

    用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象

    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

  • 语法

    filter(function, iterable)

  • 参数

    function – 判断函数
    iterable – 可迭代对象

  • 返回值

    返回一个迭代器对象

  • 实例

    # 过滤出列表中所有的奇数
    >>> lst = [i for i in range(20)]
    >>> lst = filter(lambda x:x%2==1,lst)
    >>> print(list(lst))
    [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
    

enumerate()

  • 描述

    将一个可遍历的数据对象 (如列表、元组或字符串) 组合为一个索引序列,同时列出数据和数据下标

  • 语法

    enumerate(sequence, [start=0])

  • 参数

    sequence – 一个序列、迭代器或其他支持迭代对象。
    start – 下标起始位置。

  • 返回值

    返回 enumerate(枚举) 对象。

  • 实例

    >>> the_str = "Python."
    >>> the_str = enumerate(the_str)
    >>> print(list(the_str))
    [(0, 'P'), (1, 'y'), (2, 't'), (3, 'h'), (4, 'o'), (5, 'n')]
    
发布了44 篇原创文章 · 获赞 5 · 访问量 2409

猜你喜欢

转载自blog.csdn.net/qq_36078992/article/details/105174536
今日推荐