如何转换含空格分隔整数的字符串列表以实现各子项数值求和?
解决方法:计算列表中空格分隔数字的子项总和
没问题,这事儿很简单,咱们一步步来处理你的需求:
首先,你的原始列表里每个元素都是空格分隔的数字字符串,核心思路就是把每个字符串拆成单独的数字,转成可计算的整数后再求和。
快速实现(列表推导式)
用一行代码就能搞定,简洁高效:
original_list = ['5 4 7', '4 3 1', '6 8 4', '4 8 6'] sum_list = [sum(map(int, item.split())) for item in original_list] print(sum_list) # 输出: [16, 8, 18, 18]
逐行拆解(适合新手理解)
如果觉得上面的一行代码有点绕,咱们拆成循环步骤来看:
original_list = ['5 4 7', '4 3 1', '6 8 4', '4 8 6'] sum_list = [] for item in original_list: # 1. 把空格分隔的字符串拆成单个数字字符串的列表 num_strings = item.split() # 比如 '5 4 7' 会变成 ['5', '4', '7'] # 2. 将每个字符串转成整数 numbers = [int(s) for s in num_strings] # 变成 [5, 4, 7] # 3. 计算当前子项的总和,添加到结果列表 total = sum(numbers) sum_list.append(total) print(sum_list) # 同样输出: [16, 8, 18, 18]
额外小细节
split()方法默认会处理任意数量的空白字符,所以哪怕你的子项里有多个空格、制表符,甚至开头结尾有空格,都能正确拆分出数字,比如' 6 8 4 '也能被正确处理成['6','8','4']。
内容的提问来源于stack exchange,提问作者sam smith
相关产品推荐
相关产品推荐

