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

如何在不引入库的前提下优化Python立方数打印代码并仅用单个列表?

用单个列表高效实现指定范围数字的立方值打印(无第三方库)

原代码的问题

你的代码创建了两个独立列表分别存储数字和对应的立方值,既浪费内存,又需要通过索引遍历,效率和可读性都有优化空间。

优化方案(满足单个列表要求)

可以用单个列表存储(数字, 立方值)的元组,通过一次列表推导式完成创建,再直接遍历列表元素打印,无需索引操作:

# 单个列表存储数字与对应立方值的元组
num_cubes = [(x, x**3) for x in range(1, 11)]

# 直接遍历列表中的元组元素打印
for num, cube in num_cubes:
    print(f"The cube of {num} is {cube}.")

优化后的优势

  • 内存更高效:仅创建一个列表,避免了原代码中num列表的冗余存储,元组的内存开销远小于两个独立列表的总和。
  • 遍历速度更快:直接迭代列表元素,省去了索引访问时的边界检查等额外操作,比原代码的索引遍历更高效。
  • 可读性更强:代码逻辑直观,无需通过索引关联两个列表的元素。

极致优化(若无需存储立方值)

如果你的需求只是打印而不需要保留所有立方值,甚至可以省略列表,直接在循环中计算并打印,内存占用降到最低:

# 无需存储,直接计算并打印
for x in range(1, 11):
    print(f"The cube of {x} is {x**3}.")

但此方案不符合你“仅通过单个列表实现”的要求,仅作为额外参考。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 06:35:00