将数组输入放在一行中避免python3中的空格

时间:2017-04-03 13:34:13

标签: python arrays dictionary replace

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

我的代码到现在为止

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

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

3 个答案:

答案 0 :(得分:1)

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

例如:

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

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

10 8 5

结果你会得到:

[10, 8, 5]

此外,如果你想要数字的总和,就像你说的那样,使用函数sum(),它将列表的所有元素相加。这是您需要的程序:

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

答案 1 :(得分:0)

由于整数将以空格分隔,因此您应使用.split(' ')

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

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

答案 2 :(得分:0)

你可以在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]