我正在filter.ai上进行实践编码面试,并且在处理输入时遇到麻烦。 filter.ai用于inputfile.input()中的行 第一行是我的sum变量,第二行是将变成数组的内容。
我能够删除换行符并进入一个列表,这是一个很好的开始。现在,我剩下了一个列表arr = ['5 ', '1 2 2 3 1']
import fileinput
import sys
arr = []
for line in fileinput.input():
line = line.replace('\n',' ')
arr.append(line)
#sys.stdout.write(line)
print(arr)
我想使用一个列表,其中第一个值始终是总和值,第二个是要操作/处理逻辑的列表。
我想要arr = [[5],[1,2,2,3,1]]
答案 0 :(得分:2)
您可以通过列表理解来实现
arr = [[int(x) for x in string.split()] for string in arr]
返回:
[[5], [1, 2, 2, 3, 1]]
答案 1 :(得分:0)
如果输入内容位于名为“ file.txt”的文件中,则可以使用以下内容:
with open('file.txt') as f:
arr = f.read().split('\n')
nums_sum = int(arr[0])
nums = map(int, arr[1].split())
result = [[nums_sum], list(nums)]
如果文件内容为:
10
2 2 6
那么您的结果将是:
[[10], [2, 2, 6]]
答案 2 :(得分:0)
这可能更具可读性
arr = ['5 ', '1 2 2 3 1']
ans = []
for a in arr:
a = a.rstrip().split()
a = [int(x) for x in a]
ans.append(a)
ans