我有一个列表'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]