概述
列表合并变种题
题目:
有a,b两个列表,长度不定,将两个列表和并成一个列表,对位元素相加,不丢弃任何一个元素
例如:
a= [1,2,3]
b = [1,2,3,4]
# 则结果为
c = [2, 4, 6, 4]
解法:
b = [1, 2, 3, 4, 5, 6]
c = [1, 2, 3, 4, 5, 6, 7, 8, 9]
"""
此函数实现将两个列表相比较
在较短的列表尾部补0以达到和长列表的长度相同
"""
def f(*args):
t = len(max(args))
for arg in args:
for i in range(t):
try:
arg[i]
except Exception:
arg.append(0)
return args
# f()函数返回一个列表元组([],[]),使用*号解包
res = list(map(lambda x, y: x + y, *f(c, b)))
print(res)
[2, 4, 6, 8, 10, 12, 7, 8, 9]
# 结果输出
其实不仅仅是两个列表,多少个都可以
a = [1]
b = [1, 1]
c = [1, 1, 1]
d = [1, 1, 1, 1]
res = list(map(lambda x, y, z, n: x + y + z + n, *f(a, b, c, d)))
print(res)
输出结果: [4, 3, 2, 1]
最后
以上就是坦率龙猫为你收集整理的列表合并变种题,map()函数扩展的全部内容,希望文章能够帮你解决列表合并变种题,map()函数扩展所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复