Python:就地映射
我想知道是否有办法在某些东西上运行地图。 Map 的工作方式是它接受一个可迭代对象,并将函数应用于该可迭代对象中的每个项目,生成一个列表。有没有办法让map修改可迭代对象本身?
I was wondering if there is a way to run map on something. The way map works is it takes an iterable and applies a function to each item in that iterable producing a list. Is there a way to have map modify the iterable object itself?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您需要就地修改列表,则切片分配通常是可以的
A slice assignment is often ok if you need to modify a list in place
写起来很简单:
It's simple enough to write:
只需编写明显的代码即可完成此操作。
Just write the obvious code to do it.
您可以使用 lambda (或 def)或更好的列表理解(如果足够的话):
无论如何,如果事情变得过于复杂,您可能希望使用 for 循环更加明确。
例如,你可以做类似的事情,但恕我直言,它很丑陋:
You can use a lambda (or a def) or better list comprehension (if it is sufficient):
Anyway you may want to be more explicit with a for loop if the things become too much complex.
For example you can do something like, that but imho it's ugly: