在python中使用map(int,input().split())的数组更新问题[重复]

Posted

技术标签:

【中文标题】在python中使用map(int,input().split())的数组更新问题[重复]【英文标题】:Array updating problem for using map(int,input().split()) in python [duplicate] 【发布时间】:2022-01-15 05:53:53 【问题描述】:

用于在我使用的数组中获取列表输入

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

但是对于使用这种输入法,如果我像 a[I] 一样迭代,则无法修改数组,然后它会显示

TypeError: 'map' 对象不可下标

您能告诉我如何解决这个问题吗? 我是一名有竞争力的程序员,但我是 python 新手,我必须使用 map(int,input().split()) 获取输入数组

【问题讨论】:

thing = [int(item) for item in input().split()], thing[I] @wwii。我认为这是一个挑战,所以函数是map(int,input().split()),不能理解。 【参考方案1】:

如果您不能使用像list 这样的其他函数,请使用:

# Input: 1, 2, 3, 4, 5
l = [*map(int, input().split())]
print(l)

# Output:
1 2 3 4 5

【讨论】:

【参考方案2】:

使用list(map(int,input().split())) 而不是map(int,input().split()) 将您的输入转换为列表,因为map 函数返回一个无法索引的生成器。

【讨论】:

非常感谢.. 但是你能告诉我没有列表有什么问题吗? map 函数返回一个生成器。生成器不能像x[i] 那样被索引。阅读更多关于 python 中的生成器here。

以上是关于在python中使用map(int,input().split())的数组更新问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python读入模板

如何在python中使用for循环进行追加工作

Python初学者零碎基础笔记

使用lambda的python map函数的等价物

为啥我要在 Python 中使用 int( input().strip() ) 而不是 int( input() )?

美团暑期实习