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

Python从不同索引位置遍历列表生成所有两词组合问题

解决方案

需求为生成4个单词中所有不重复的两两组和,共6个符合要求的结果。原有代码核心问题:

  • 单词列表定义时每个元素额外加了逗号和多余空格,无需额外添加标点
  • 直接对字符串类型的列表元素做加1操作,类型不匹配,操作索引需要先获取列表的下标值
  • 自定义函数没有添加return语句,执行完无返回值所以打印结果为None

手动循环实现(适合理解底层逻辑)

words = ["comfortable", "round", "support", "machinery"]
result = []
# 外层遍历第一个词的索引
for i in range(len(words)):
    # 内层遍历第二个词的索引,从i+1开始避免生成重复组合
    for j in range(i+1, len(words)):
        result.append(f"{words[i]} {words[j]}")

print(result)

输出结果完全匹配要求的格式:

["comfortable round", "comfortable support", "comfortable machinery", "round support", "round machinery", "support machinery"]

标准库简洁实现

Python内置itertools.combinations可直接实现从序列中取n个元素的不重复组合,代码更精简:

from itertools import combinations

words = ["comfortable", "round", "support", "machinery"]
result = [" ".join(pair) for pair in combinations(words, 2)]
print(result)

运行结果和手动实现完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:36:03