繁体   English   中英

如何总结一个字符串列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM