我尝试将字符串列表转换为int
列表,然后添加元素。
示例:
将test_list = ["1", "2", "5", "6"]
转换为[1, 2, 5, 6]
,然后将其添加到14
。
答案 0 :(得分:4)
您可以使用map
>>> test_list = ["1", "2", "5", "6"]
>>> map(int,test_list)
[1, 2, 5, 6]
>>> sum(map(int,test_list))
14
其他可能的方式
sum([int(i) for i in test_list])
List Comp sum(int(i) for i in test_list)
生成器表达式注意 - 如here
所述,map
是列表补充的更好选择
在某些情况下(当你不是时,地图可能在显微镜下更快) 为此目的制作一个lambda,但在map中使用相同的函数 和listcomp)。在其他情况下,列表推导可能更快 大多数(不是全部)pythonistas认为它们更直接,更清晰。
答案 1 :(得分:2)
使用列表理解:
test_list = ["1", "2", "5", "6"]
new_list = [int(x) for x in test_list]
print sum(new_list)
答案 2 :(得分:0)
已经发布的答案是更好的做法,但是,一个非常容易理解的方法是:
int_list = []
count = 0
for item in test_list:
int_list.append(int(item))
count += int(item)
print(count)
答案 3 :(得分:0)
在我看来,这是最好的解决方案:
test_list = ["1", "2", "5", "6"]
def sum_strings(X):
"""changes the type to int and adds elements"""
return reduce(lambda x, y: int(x) + int(y), X)
print sum_strings(test_list)
输出:
14