【问题标题】:Taking array input in one line avoiding spaces in python3在一行中输入数组,避免python3中的空格
【发布时间】:2017-08-28 09:43:21
【问题描述】:

问题:我需要将整数数组作为输入。提取每个整数并将其存储在单独的数组中。

我的代码到现在

    x = []
    y = []
    x = list(map(int,input()))
    for i in range (len(x)):
      y[i] = x[i] 

我也尝试了替换功能,但我无法从单个数字整数中识别出 2 或 3 位整数。实际上,这会将 100 作为 1,0,0 存储在 a[0]、a[1] 和 a[2] 中,但我需要 100 作为 a[0] 中的单个数字。 我需要一个关于它如何工作的清晰概念!谁能帮帮我?

【问题讨论】:

  • 您希望输入的格式是什么?
  • x = list(map(int,input())) 应该没问题。其余的不清楚。
  • @DanielRoseman 输入格式应为:1 2 3 4 10 11
  • 你可能想试试list(map(input().split(' ')))
  • @ArcoBas 非常感谢!但是 map() 需要两个参数 所以代码应该是 list(map(int,input().split(' '))) 非常感谢大家!!

标签: python arrays dictionary replace


【解决方案1】:

由于整数会用空格分隔,所以应该使用.split(' ')

x = list(map(int, input().split(' ')))

您的其余代码似乎毫无意义;这一行就足够了。

【讨论】:

    【解决方案2】:

    你可以在 python3 上做这样的事情:

    x = list(map(int, input().split()))
    y = list(x)   # will create list y similar to x
    print(y)
    

    对于python2,您可以使用raw_input 来执行此操作,如下所示:

    x = list(map(int, str(raw_input()).split()))
    y = list(x)   # will create list y similar to x
    print(y)
    

    对于输入100 200,结果将是:

    [100, 200]
    

    【讨论】:

    • y = x 不会创建类似于x 的列表;它为x 创建一个别名。如果要创建新列表,请使用x[:]
    • 没错。将创建参考。将编辑。
    【解决方案3】:

    函数.split() 接受一个字符串并返回其单词列表。您可以指定单词的分隔符,但默认情况下 Python 会用空格分隔字符串。

    例如:

    x = list(map(int, input().split()))
    print(x)
    

    如果您运行此命令并输入以下行:

    10 8 5
    

    你会得到这样的结果:

    [10, 8, 5]
    

    另外,如果你想要数字的总和,就像你说的,使用函数sum() 对列表的所有元素求和。这是您需要的程序:

    x = sum(map(int, input().split()))
    

    【讨论】:

    • .split 不需要参数;默认情况下,它将在空白处拆分。 sum() 不需要它的参数是一个列表。地图对象工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多