我正在编写一个应该采用文件名并创建初始列表的代码.然后,我试图总结列表中的每个项目.我到目前为止编写的代码看起来像这样......
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)
代替
Lists = line
Run Code Online (Sandbox Code Playgroud)
你需要
Lists.append(line)
Run Code Online (Sandbox Code Playgroud)你可以得到这样的总和
total = sum(sum(map(int, item)) for item in Lists)
Run Code Online (Sandbox Code Playgroud)如果您不想创建列表列表,可以使用extend函数
Lists.extend(line)
...
total = sum(map(int, Lists))
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |