我正在尝试从控制台读取一行,将输入的数字转换为整数,然后将它们添加到
Array<Int>
我提出的最短单线是
val na: Array<Int> = readLine()!!.split(' ').map{it.toInt()}.toTypedArray() // Array<Int>
这比下面的python版本长得多。是否可以编写更短的代码来实现相同的结果?这在比较性的编程中很重要。
na = [int(i) for i in input().split(' ')]
答案 0 :(得分:3)
你真的不需要声明变量类型,所以:
val na = readLine()!!.split(' ').map { it.toInt() }.toTypedArray()
是否为数组?为什么不能使用列表?它对你来说可能是同样的事情,你甚至不会注意到差异(如果有的话)。您将能够以相同的方式迭代它。对于列表,您可以:
val na = readLine()!!.split(' ').map { it.toInt() }
我猜没有办法缩短它。 readLine
超过input
,toInt
超过int
,而it
超过i
...有&#39}现在没多大办法了。实际上它并不重要;)
答案 1 :(得分:1)
你的Python版本没有给你array,它给出了一个列表。那么,
也是如此val na = readLine()!!.split(' ').map{it.toInt()}
只比Python多几个字符。