from functools import reduce——从典型实例做抓手看reduce函数使用

举报
irrational 发表于 2022/02/15 22:10:09 2022/02/15
【摘要】 from functools import reduce 1.整数的累积:列表里面整数累加 a=[1,3,5] b=reduce(lambda x,y:x+y,a) print('1.列表里面整数累加...

from functools import reduce

1.整数的累积:列表里面整数累加

a=[1,3,5]
b=reduce(lambda x,y:x+y,a)
print('1.列表里面整数累加==:',b)
1.列表里面整数累加==: 9

  
 
  • 1
  • 2
  • 3
  • 4

2.列表的累加:列表里面的列表相加

a=[[1,3,5],[6]]
b=reduce(lambda x,y:x+y,a)
print('2.列表里面的列表相加—:',b)
2.列表里面的列表相加—: [1, 3, 5, 6]

a=[[["abc","123"],["def","456"],["ghi","789"]]]
b=reduce(lambda x,y:x+y , a )
print('列表里面的列表相加—:',b)
列表里面的列表相加—: [['abc', '123'], ['def', '456'], ['ghi', '789']]

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.元组的累加:列表里面的元组相加

a=[("abc","123"),("def","456"),("ghi","789")]
b=reduce(lambda x,y:x+y , a )
print('3.列表里面的元组相加!!',b)
3.列表里面的元组相加!! ('abc', '123', 'def', '456', 'ghi', '789')

  
 
  • 1
  • 2
  • 3
  • 4

4.字符串的累加

a=['abc','def','hij']
b=reduce(lambda x,y:x+y,a)
print('4.列表里面字符串的累加:~~',b)
4.列表里面字符串的累加:~~ abcdefhij

a=('abc','def','hij')
b=reduce(lambda x,y:x+y,a)
print('元祖里面字符串的累加:~~',b)
元祖里面字符串的累加:~~ abcdefhij

a=[['abc','def','hij']]
b=reduce(lambda x,y:x+y,a)
print('嵌套列表里面字符串的累加:~~',b)
嵌套列表里面字符串的累加:~~ ['abc', 'def', 'hij']

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

#总结:
#1.functools函数;reduce分解;lambda 匿名函数;x,y:x+y 表达式
#2.使用functools.reduce,要是整数就累加;
#3.使用functools.reduce,要是字符串、列表、元祖就拼接(相当脱了一层外套)

文章来源: blog.csdn.net,作者:irrationality,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_54227557/article/details/122930194

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。