Python之functools.reduce使用

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,要是字符串、列表、元祖就拼接(相当脱了一层外套)
---------------------

猜你喜欢

转载自www.cnblogs.com/hyhy904/p/11198590.html
今日推荐