Python:如何获取多行输入数据并将其放入列表中

时间:2017-04-16 20:01:34

标签: python list

我知道这可能非常简单,但我似乎很难过。 无论如何,我必须让用户输入数据点数(N),然后输入数据点本身。然后必须以与输入它们相同的方式打印它们(一个数据点/线),然后将它们放入单个列表中供以后使用。这是我到目前为止所拥有的

N = int(input("Enter number of data points: "))
lines = ''
for i in range(N):
   lines += input()+"\n"
print(lines)

输出n = 4(用户输入1(输入)2(输入)... 4并打印以下内容:

1
2
3
4

所以这个工作并且看起来很完美但是我现在需要将这些值转换为一个列表,以便稍后在程序中进行一些统计工作。我已经尝试制作一个空列表并将线条带入其中但是/ n格式化似乎搞砸了。或者我得到列表索引超出范围错误。 非常感谢任何和所有的帮助!

3 个答案:

答案 0 :(得分:3)

如何将每个新输入直接添加到列表中,然后只打印它。

像这样:

N = int(input("Enter number of data points: "))
lines = []
for i in range(N):
    new_data = input("Next?")
    lines.append(new_data)

for i in lines:
    print(i)

现在每个项目都以新行打印,并且您有一个要操作的列表。

答案 1 :(得分:0)

您可以将所有输入添加到列表中并使用join函数,如下所示:

'\n'.join(inputs)

当你想要打印它时。这将为您提供一个字符串,列表中的每个成员用您选择的分隔符分隔,在这种情况下为换行符。

这样您就不需要为从用户获得的值添加任何内容。

答案 2 :(得分:0)

您可以尝试先将所有数据附加到列表中,然后逐行打印其中的每个项目,使用for循环打印每一行,这样就无需将其与"\n"连接起来

N = int(input("Enter number of data points: "))    
data = []
for i in range(N):
    item = data.append(input())

for i in data:    
    print(i)