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

排列计算迭代问题:Python列表排列算法运行结果异常求助

代码问题排查

前置错误修正

你代码存在变量名拼写不一致的问题:前序生成的列表命名为list,后续循环使用的变量名为liste,需先统一命名为不与内置关键字冲突的名称,比如num_list,避免触发未定义变量报错。另外不建议直接用list作为变量名,会覆盖Python内置的list类型,容易引发后续异常。

两个异常现象的根因

  • 30开头的配对缺失:外层循环i第一次取值为0(对应列表第一个元素30)时,你在初始化j=0后直接判断i==j触发continue,直接跳过了i=0的整个分支,所有30作为第一个元素的配对都没有进入生成逻辑。
  • 出现同元素配对:i==j的判断仅在进入i分支、j还没开始循环的时候执行一次,j开始递增后没有任何校验逻辑,当j递增到等于i的取值时,会直接把相同索引的两个元素加入结果,就出现了[40,40]这类同值配对。

修正后代码

如果你需要生成所有不同元素的有序两两排列,可参考以下修正逻辑:

a = 30
num_list = []
while a < 101:
    num_list.append(a)
    a += 10

perm = []
for i in range(len(num_list)):
    j = 0
    while j < len(num_list):
        if i != j:
            perm.append([num_list[i], num_list[j]])
        j += 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:27:01