如何仅拆分列表的一个元素

时间:2019-07-16 16:29:24

标签: python python-3.x list

我正在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]]

3 个答案:

答案 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