【问题标题】:How to append an array of space-separated integers input in an array in python?如何在python中的数组中附加一个空格分隔的整数输入数组?
【发布时间】:2020-06-27 14:46:56
【问题描述】:

我想将用户输入的以空格分隔的整数(作为整数而不是数组)附加到形成的数组中。有没有办法做到这一点?

这是一个伪代码:

a=[1,2,3,4]
a.append(int(input().split())
print(a)

我希望它节省时间,这是我尝试过的:

a=[1,2,3,4]
b=list(map(int, input().rstrip().split()))
a.extend(b)
print(a)

有没有更有效/更快的方法?

预期输出:

[1, 2, 3, 4, 5, 6, 7, 8]
# When input is '5 6 7 8'

【问题讨论】:

  • 如果是用户输入,则时间效率无关紧要,因为用户输入(或从文件中传输)输入所花费的时间远远超过了您的输入解析事物的代码。
  • 这只是为了便于解释问题。问题的关键是时间效率。我想将输入 附加到列表中。前面有更长的代码。我只是想知道是否有一种快速的方法来做到这一点。 (就像在获取输入时附加输入一样,如果输入是一个一个给出,这将是可能的。)
  • 逐个读取和解析会更慢。在任何情况下,您的方式都相当快,但从总体上看,它可能并不重要(当您分析较大的程序并发现整数读取成为瓶颈时,您可以加快速度起来)。

标签: python arrays list input


【解决方案1】:

你可以这样做:

a=[1,2,3,4]
a.extend(map(int, input().split()))
print(a)
#[1, 2, 3, 4, 5, 6, 7, 8]

【讨论】:

    【解决方案2】:

    你也可以这样做:

    a=[1,2,3,4]
    b=list(map(int, input().rstrip().split()))
    for i in b:
        a.append(i)
    print(a)
    

    【讨论】:

      【解决方案3】:

      您可以通过使用“+”运算符连接两个列表来做到这一点 -

      a = [1,2,3,4]
      result = list(map(int, input().split())) + a
      

      输出

      [5, 6, 7, 8, 1, 2, 3, 4]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        • 2013-01-16
        • 1970-01-01
        • 2019-07-09
        相关资源
        最近更新 更多