用于获取多个用户输入的列表和地图之间的差异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于获取多个用户输入的列表和地图之间的差异相关的知识,希望对你有一定的参考价值。
list(int(input()).split())
和map(int,input().split())
从用户那里获得多个输入有什么区别?
答案
让我们仔细研究一下:
list(int(input()).split())
扩展到
list( # Make a list out of...
int( # the value of...
input() # input from the user,
) # converted to an integer.
.split() # Then, split that.
)
这没有意义。假设你输入像15
这样的东西。 input()
函数返回字符串'15'
,它将转换为整数15
。整数没有.split()
操作,所以你得到一个SyntaxError
。
现在,让我们来看看map(int,input().split())
:
map( # Apply the function...
int # (that is, `int()`)
, # ...to every element in the iterable...
input() # (First, take the input from the user,
.split() # and then split it)
) # ...and return all that as a list
这一次,我们输入像1 5 6 11 13
这样的东西。
input()
函数返回字符串'1 5 6 11 13'
。- 然后,我们在该字符串上调用
.split()
函数,该函数返回由空格分隔的子字符串列表 - 也就是说,它返回列表['1', '5', '6', '11', '13']
。但这些仍然是字符串,我们想要整数。 - 最后,我们将
int()
应用于该列表的每个元素,这将获得最终结果[1, 5, 6, 11, 13]
,除了它在map
数据结构中(在这种情况下创建python比完整列表更有效) - 如果我们想要,我们可以将它转换为
list
以便轻松使用它 - 这只是将整个表达式包含在list(...)
中。
以上是关于用于获取多个用户输入的列表和地图之间的差异的主要内容,如果未能解决你的问题,请参考以下文章
用于在多个活动/片段中重用的全局加载器 (LoaderManager)