[英]how to sum up a list of strings
给定这样的字符串列表,
xs = ['1\n','2\n','3\n','4\n','5\n']
将整数求和,以字符串形式返回总和,然后将总和追加到列表中,以便返回的列表
xs = ['1\n','2\n','3\n','4\n','5\n','Sum:15\n']
我了解遍历该列表并对其进行迭代的过程,但我只是不了解如何摆脱\\n
字符,因此只能使用整数来找到总和?
def my_fun(x):
return x+["Sum: %s\n"%sum(map(int,x)),]
这使用了一个生成器:
>>> xs + ['Sum:{0}\n'.format(str(sum(int(s) for s in xs)))]
['1\n', '2\n', '3\n', '4\n', '5\n', 'Sum:15\n']
为了更直接地回答您的问题(省去了迭代,因为您说那不是问题):
信不信由你,当您使用int
解析时, int
实际上会忽略尾随的换行符:
>>> int('1\n')
1
一旦拥有int
,就可以照常进行算术运算。
这是Python 2和3中记录的功能:
可选地,文字可以在+或-之前(之间没有空格) 并由whitespace包围 。
-Python int
文档 (重点是我的)
如果您对更简化的迭代方式感兴趣,可以查看Joran的答案及其注释,但是,如果这是某种作业,那么如果您是我,则不会使用它们。 自己解决问题将使您受益更多。 您当然希望将更高级的功能用于专业工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.