我是靠谱客的博主 坦率龙猫,这篇文章主要介绍列表合并变种题,map()函数扩展,现在分享给大家,希望可以做个参考。

列表合并变种题

题目:
有a,b两个列表,长度不定,将两个列表和并成一个列表,对位元素相加,不丢弃任何一个元素
例如:

复制代码
1
2
3
4
5
6
a= [1,2,3] b = [1,2,3,4] # 则结果为 c = [2, 4, 6, 4]

解法:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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] # 结果输出

其实不仅仅是两个列表,多少个都可以

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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()函数扩展的全部内容,更多相关列表合并变种题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部