You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用map、lambda、filter获取多维列表中正整数的平方值

问题分析

你当前的代码只完成了「筛选正整数」的逻辑,缺少对筛选后的正整数做平方计算的步骤,整体思路方向没有问题,只需要补充映射平方的逻辑即可。

解决代码

按照要求必须使用map+lambda的约束,修改后代码如下:

# using map( <lambda here>, input) is mandatory
input = [[-1, 1, 2, -1, 3], [3, 4,-5]]
# 先筛选正整数,再对筛选结果映射平方计算
a = map(lambda x: list(map(lambda y: y ** 2, filter(lambda y: y > 0, x))), input)
print(list(a))

提示:不建议使用input作为自定义变量名,input是Python内置的标准输入函数,覆盖定义可能会导致后续调用内置功能时报错。

逻辑说明

  • 外层map遍历原多维列表的每一个子列表,保留原有列表嵌套结构
  • 先通过filter(lambda y: y > 0, x)筛选出当前子列表中的所有正整数
  • 再通过内层map(lambda y: y ** 2, ...)对筛选出的每个正整数做平方计算
  • 最后通过list()将map对象转为列表,和原有结构保持一致

运行后输出结果和你期望的完全一致:

[[1, 4, 9], [9, 16]]

内容的提问来源于stack exchange,提问作者CaptainK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:15:05