对于以下嵌套列表 Lst
,我需要保留第一个内部列表,对第二个列表进行平方,并对最后一个列表进行立方。
Lst = [[1,2,3],[2,3,4],[3,4,5]]
我当前的代码正在对 Lst
中的所有嵌套列表进行平方。
list(map(lambda lst: list(map(lambda x: x**2, lst)), Lst))
我该如何解决这个问题?我刚刚开始学习Python。
最佳答案
由于您没有对每个嵌套列表执行相同的操作,因此您不应该对顶级列表使用 map()
。只需列出每个不同映射的结果即可。
[Lst[0], list(map(lambda x: x**2, lst[1])), list(map(lambda x: x**3, lst[2]))]
但是,这有一个明显的模式,因此您可以使用 enumerate()
和列表理解来概括它:
[list(map(lambda x: x**i, sublist)) for i, sublist in enumerate(Lst, 1)]
关于python - 嵌套列表的基本 Python 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68329884/