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

Python使用map函数未得到预期二维列表结果,请求技术帮助

问题:将嵌套列表中每个元素乘以2的代码修正

原代码存在两处核心问题:

  1. 语法错误:map函数的调用格式完全错误,你错误地将生成器表达式和可迭代对象混在一起,同时lambda的参数定义冗余且逻辑混乱;
  2. 冗余变量:提前定义的空列表A、B完全没必要,循环中的A已经覆盖了全局变量,属于无效定义。

修正后的代码(基于原逻辑调整)

lst = [ [1,2,3], [4,5,6], [7,8,9], [10,11,12] ]  
C = []

for sublist in lst:
    # map接收lambda函数和可迭代对象sublist,每个元素乘2后转成列表
    doubled_sublist = list(map(lambda x: x*2, sublist))
    C.append(doubled_sublist)

print(C)
# 输出:[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]

更简洁的写法(Python推荐的列表推导式)

嵌套列表推导式更直观,代码更简洁:

lst = [ [1,2,3], [4,5,6], [7,8,9], [10,11,12] ]  
C = [[x*2 for x in sublist] for sublist in lst]
print(C)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:51:21