ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lambda , zip , filter, map, reduce, enumerate - 6个神仙级别的函数

2022-05-22 09:32:45  阅读:161  来源: 互联网

标签:map 函数 zip reduce list colors print ### lambda




print('-'*10,'Introducing Python_CN_Bill Lubanovic_Python语言及其应用','-'*10)
print('-'*10,'Python中不可错过的五个超有用的神仙级函数','-'*10)
print('-'*10,'6个神仙级别的函数: lambda ,  zip ,  filter,  map,   reduce,   enumerate','-'*10)

### lambda函数
#egCSDN  https://blog.csdn.net/m0_59164304/article/details/123797398?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0-123797398-blog-124763983.pc_relevant_antiscanv2&spm=1001.2101.3001.4242.1&utm_relevant_index=3
answer = lambda a,b:a**2 + b**2 + 2*a*b
print(answer(3,6))


###下面4个例子来自最初2017年开始学习Python时,网上看极客学院中的例程,2022.5.20再零散温习
#eg1
a = lambda x:x+3
print('a(1) = ',a(1))


#eg2
b = lambda x,y,z:x+y
c = lambda x,y,z:x+y+z
print('b(x,y,z) = ',b(1,2,3))
print('c(x,y,z) = ',c(3,2,4))

#eg3
def d(t):
    return lambda y:y+t
d1 = d(10)    ### 怎样输出显示此调用的表达式,想显示出输出结果为:   lambda y:y+10
#type(d1)
print(d1(7))

#eg4
def m():
    return lambda s:s*3
k = m()
print(k('Hello '))


### filter函数
def is_positive(a):
    return a>0            ###如想输出结果分成2行,同时输出2种情况 a>0、a<0的数据怎么做?
output = list(filter(is_positive,[1,-2,3,-4,5,6]))
print(output)

def is_odd(n):
    return n % 2 ==1
old_list = [1,2,3,4,5,6,7,8,9,10]
new_list = filter(is_odd,old_list)
print('过滤出的奇数 = ',list(new_list))


### zip函数
user_id = ['12121','56161','33287','23244']
user_name = ['范静芳','赵琴','欧阳芳','敏敏',]
user_info = list(zip(user_name,user_id))
print(user_info)

#另外一个zip例子:
colors = ['red','yellow','green','black']
fruits = ['apple','pineapple','grapes','cherry']
for item in zip(colors,fruits):
    print(item)


### map函数
def add_list(a,b):
    return a+b
output = list(map(add_list,[2,6,3],[3,4,5]))
print(output)

#注解:注意点如下:
#map(function, iterables)
#add_list

def makeupper(word):
    return word.upper()
colors = ['red','yellow','green','black']
colors_uppercase = list(map(makeupper,colors))
print(colors_uppercase)

#此外,我们还可以使用匿名函数lambda来配合map函数,这样可以更加精简。
colors_uppercase_2 = list(map(lambda x:x.upper(),colors))
print('使用匿名函数lambda来配合map函数 = ', colors_uppercase_2)


### reduce函数
import functools      ### from functools import reduce
def sum_two_elements(a,b):
    return a+b
numbers = [6,2,1,3,4]
result = functools.reduce(sum_two_elements,numbers)
print(result)

#此外,我们同样可以使用匿名函数lambda来配合reduce函数,这样可以更加精简。'
from functools import reduce
numbers = [1,2,3,4,5]
sum2 = reduce(lambda x,y:x+y,numbers)
print('使用匿名函数lambda来配合reduce函数 = ',sum2)

### emulate函数
colors = ['red','yellow','green','black']
result = enumerate(colors)
for count,element in result:
    print(f"迭代编号:{count},对应元素:{element}")




标签:map,函数,zip,reduce,list,colors,print,###,lambda
来源: https://www.cnblogs.com/CDPJ/p/16296943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有