总结一个列表的对象

use*_*041 2 python sum list

我正在编写一个应该采用文件名并创建初始列表的代码.然后,我试图总结列表中的每个项目.我到目前为止编写的代码看起来像这样......

filename = input('Enter filename: ')
    Lists = []
    for line in open(filename):
        line = line.strip().split()
        Lists = line
    print(Lists)
    total = 0
    for i in Lists:
        total = sum(int(Lists[i]))
    print(total)
Run Code Online (Sandbox Code Playgroud)

我接受一个文件名并将line =中的所有对象设置为List.然后,我创建一个变量total,它应该打印出列表中每个项目的总和.例如,如果List = [1,2,3]则总数将为6.但是,是否可以将整数对象附加到列表中?我收到的错误是......

File "/Users/sps329/Desktop/testss copy 2.py", line 10, in main
    total = sum(int(Lists[i]))
TypeError: list indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

这样的东西也不起作用,因为列表中的项目是字符串而不是数字.我是否必须实现函数isdigit,即使我知道输入文件将始终是整数?...

total = sum(i)
Run Code Online (Sandbox Code Playgroud)

the*_*eye 5

  1. 代替

    Lists = line
    
    Run Code Online (Sandbox Code Playgroud)

    你需要

    Lists.append(line)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 你可以得到这样的总和

    total = sum(sum(map(int, item)) for item in Lists)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果您不想创建列表列表,可以使用extend函数

    Lists.extend(line)
    ...
    total = sum(map(int, Lists))
    
    Run Code Online (Sandbox Code Playgroud)