Python使用for循环生成立方值列表无法输出列表格式问题咨询
Python立方列表输出调整方案
问题核心原因
- 未初始化空列表存储计算结果,循环中调用
cubed()得到的返回值直接输出为单个元组,没有聚合为列表 - 你使用的
cubed()函数默认返回包含原数值、立方值的二元元组,需提取元组中索引为1的立方值部分
调整后代码
写法1:常规for循环实现
# 生成原偶数列表 RangeList = list(range(2, 11, 2)) # 初始化空列表存储立方结果 cubed_result = [] for x in RangeList: # 提取元组中的立方值,添加到结果列表 cubed_val = cubed(x)[1] cubed_result.append(cubed_val) # 打印列表格式的结果 print(cubed_result)
运行后输出为:[8, 64, 216, 512, 1000]
写法2:列表推导式精简实现
如果不需要复杂的中间处理,可直接用列表推导式完成:
RangeList = list(range(2, 11, 2)) cubed_result = [cubed(x)[1] for x in RangeList] print(cubed_result)
可选优化
如果你可以修改cubed()函数的定义,直接让函数只返回立方值而非二元元组,上述代码中就无需加[1]提取元素,直接写入cubed(x)即可。
内容的提问来源于stack exchange,提问作者esco
相关产品推荐
相关产品推荐

