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

如何实现二维列表元素为内外层索引之和?原代码问题解析

问题原因分析与解决方案

一、错误原因

  • 列表引用复用问题:Python中用liste1 * 10创建liste2时,并非生成10个独立的新列表,而是让liste2的10个元素全部指向同一个liste1对象。后续每次循环修改liste1的内容,所有子列表都会同步变化;最后一次循环i=9时,liste1被修改为全9的列表,因此最终liste2里所有子列表都显示为全9。
  • 元素值逻辑错误:代码将liste1[j]直接赋值为i,完全没有实现“外层索引与内层索引之和”的需求,就算解决了引用问题,结果也不符合预期。

二、解决方案

方法1:嵌套循环创建独立子列表

每次外层循环都新建一个子列表,彻底避免引用复用问题,同时正确计算元素值:

def function():
    liste2 = []
    i = 0
    while i < 10:
        liste1 = []
        j = 0
        while j < 10:
            liste1.append(i + j)
            j += 1
        liste2.append(liste1)
        i += 1
    print(liste2)

function()

方法2:列表推导式(更简洁)

利用Python的列表推导式可以快速实现需求,代码更简洁且逻辑清晰:

def function():
    liste2 = [[i + j for j in range(10)] for i in range(10)]
    print(liste2)

function()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:55:23