【问题标题】:How to read input into list of exact length given in different lines如何将输入读入不同行中给出的确切长度列表
【发布时间】:2020-05-08 13:42:52
【问题描述】:

输入 - 6
14
2
54
13
11
67
89
98
79

import sys
n=int(input()) #entering number of elements
lst=[int(x) for x in sys.stdin.readlines(n)] #takinginput
print(lst)

输出:

[14, 2]

预期输出 -

[14,2,54,13,11,67]

【问题讨论】:

  • [int(x) for x in n.split()]?要获得前 6 个元素,请使用 slicing
  • 我只需要从输入到列表中的6个元素,剩下的用于其他操作,除了将整个输入放入列表并切片之外,还有其他解决方案

标签: python python-3.x list input stdin


【解决方案1】:

第二个输入为什么不使用input

import sys
n=int(input()) #entering number of elements
lst=[int(input()) for x in range(n)] #takinginput
print(lst)

【讨论】:

    【解决方案2】:

    sys.stdin.readlines(n) 表示“读取不超过 n 个字符”。 不是行。

    【讨论】:

    • 几乎正确,见docs.python.org/3/library/…
    • @KennyOstrom 字符或字节,对。仍然不是线条
    • 嘿,我可能很挑剔但我不小气!重要的是它可以读取超过 n 个字符。它仅在读取每一整行后检查计数。但您的回答只是一个评论——它需要文档链接,也许还需要一点说明。我试图帮助你。 (虽然这是一个很好的评论)
    【解决方案3】:
    import sys
    
    def ReadNLines(n):
        List =[]
        for line in range(n):
            List.append(int(sys.stdin.readline().replace('\n','')))
        return List
    
    
    n=int(input('input')) #entering number of elements
    list = ReadNLines(n)
    print(list)
    

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2017-06-24
      • 1970-01-01
      • 2018-05-27
      相关资源
      最近更新 更多