我如何在python中采用格式化输入?

时间:2015-07-11 12:46:37

标签: python-3.x

我想把输入说7 8 9 5 12 17作为数组ar []中的单独整数。我试过了 a=input() ar.append(a.split(" ")) 但它只是将数字存储为字符串。而我无法在追加时找到直接转换这些整数的方法。请提前帮助谢谢。

4 个答案:

答案 0 :(得分:0)

这应该这样做:

a=input()
ar = map(int, a.split(" "))

请参阅Python: How do I convert an array of strings to an array of numbers?

答案 1 :(得分:0)

要创建适当的python list对象,可以执行

ar = [int(i) for i in input().split()]

否则,这样做

ar = map(int, input().split())

如果需要,您还可以删除额外的空格。做

ar = map(int, input().strip().split())

答案 2 :(得分:0)

您可以通过列表理解来完成。

ar = [int(x) for x in a.strip().split()]

在这里,我们首先strip输入a的结尾和开头的空格,然后执行split()。它将返回a中所有数字的列表作为字符串。然后使用列表推导,我们将获得的所有数字转换为integers

示例:

a' 12 34 45 12 56 '

>>> ar = [int(x) for x in a.strip().split()]
>>> ar
[12, 34, 45, 12, 56]

注意: split()操作返回字符串列表。我们自己必须将这些字符串转换为整数。

答案 3 :(得分:0)

此处可以使用内置函数map(function, iterable, ..)全部应用int()函数。

ar = map(int, a.split(" "))