Python 3 列表元素映射到 sum 元素



我有一个列表'L'

L = [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '4'), ('3', '5'), ('4', '5')]

我希望这个列表

[ 3, 4, 5, 6, 5, 6, 7, 7, 8, 9]

这是元素的总和。 什么是适当的代码?我想要最短的代码 使用地图方法?

看起来像家庭作业,但没关系。

我们需要将元组内的字符串转换为整数,然后将它们相加,有一万亿种方法可以做到这一点。这是一个通用解决方案,因此即使原始列表中的元组具有可变长度,它也可以工作。

首先根据需要使用地图

list(map(lambda tup: sum(map(int,tup)), L))

列表调用仅用于从映射对象创建列表。

您还可以使用列表推导式

[sum(int(x) for x in tup) for tup in L]

您还可以像这样在理解调用中混合和匹配地图,以获得最短的代码。

[sum(map(int,tup)) for tup in L]

你来了。 :)

casting = [  (int(i), int(j)) for i,j in L ] 
sumVariable = [ sum(i) for i in casting ]

你可以试试这个:

alpha = [int(x[0](+int(x[1]( for x in L]

最新更新