栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python重点内置函数讲解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python重点内置函数讲解

目录

1.filter()函数

2.map()函数

3.zip()函数

4,enumerate()函数


1.filter()函数

filter函数用于过滤序列。filter()函数包含2个参数,一个是过滤函数,另一个是过滤序列。形如:filter(f,L)

filter函数会将过滤函数依次作用于每一个过滤序列的元素,返回符合要求的过滤值。


help(filter)

Help on class filter in module builtins:

class filter(object)

 |  filter(function or None, iterable) --> filter object

 |  Return an iterator yielding those items of iterable for which function(item)

 |  is true. If function is None, return the items that are true.

使用help语句得到filter的部分信息如上,第一个参数可以为一个函数或者None,第二个参数为一个可迭代的对象。

1. 当第一个参数为None时,则返回iterable中为True的元素(Ture或者非0):


list(filter(None,[1,2,0,True,False]))

Out[18]: [1, 2, True]
2. 当第一个参数为function时,则将iterable中的元素作为参数代入function中,返回其中能使function的返回结果为True的元素。


list(filter(lambda x:x%5,range(20)))

Out[21]: [1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19]


2.map()函数

map()的原型是map(function, iterable, …),它的返回结果是一个列表。 

参数    function:  传的是一个函数名,可以是python内置的,也可以是自定义的。 就像上面的匿名函数lambda参数  

 iterable:   传的是一个可以迭代的对象,例如列表,元组,字符串这样的。 

这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。还是看例子来理解吧!


a=(1,2,3,4,5)

b=[1,2,3,4,5]

c="lh"

la=map(str,a)

lb=map(str,b)

lc=map(str,c)

print(la)

print(lb)

print(lc)

输出:

['1', '2', '3', '4', '5']

['1', '2', '3', '4', '5']

['l', 'h']

如果传入多个可迭代对象,下面例子解释说明


def add(x,y,z):

    return x,y,z

list1 = [1,2,3]

list2 = [1,2,3,4]

list3 = [1,2,3,4,5]

res = map(add, list1, list2, list3)

print(res)

输出:

[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]

3.zip()函数

zip函数的原型为:zip([iterable, …])

参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。

import numpy as np
a=[1,2,3,4,5]
b=(1,2,3,4,5)
c=np.arange(5)
d="zhang"
zz=zip(a,b,c,d)
print(zz)#
print(list(zz))#[(1, 1, 0, 'z'), (2, 2, 1, 'h'), (3, 3, 2, 'a'), (4, 4, 3, 'n'), (5, 5, 4, 'g')]
当没有参数时候
zz=zip()
print(zz)#
print(list(zz))#[]

当只有一个参数的时候

a=[1,2,3]
zz=zip(a)
print(list(zz))#[(1,), (2,), (3,)]

当多个参数长度不同额时候

import numpy as np
a=[1,2,3]
b=[1,2,3,4]
c=[1,2,3,4,5]
zz=zip(a,b,c)
print(list(zz))#[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

zip() 和 * 操作符一起操作可以用来 unzip 一个列表

a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
zz=zip(a,b,c)
# print(list(zz))

x,y,z=zip(*zz)
print(x)
print(y)
print(z)

'''

(1, 2, 3)
(4, 5, 6)
(7, 8, 9)

'''

4,enumerate()函数

在同时需要index和value值的时候可以使用 enumerate。下列分别将字符串,数组,列表与字典遍历序列中的元素以及它们的下标:

列表

lis=[1,2,3,4]
for i,j in enumerate(lis):
    print(i,j)

0 1
1 2
2 3
3 4

元组

tup=(1,2,3,4)
for i,j in enumerate(tup):
    print(i,j)

0 1
1 2
2 3
3 4

字典

dic={1,2,3,4}
for i,j in enumerate(dic):
    print(i,j)

0 1
1 2
2 3
3 4

集合

set={1,2,3,4}
for i,j in enumerate(set):
    print(i,j)

0 1
1 2
2 3
3 4

字符串

str="asbdf"
for i,j in enumerate(str):
    print(i,j)

0 a
1 s
2 b
3 d
4 f

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339257.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号