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

为何itertools的combinations方法返回空列表?

问题原因分析

你得到空列表的核心原因是传入combinations的可迭代对象元素数量不足:

  • combinations(iterable, r)的作用是从iterable中选出长度为r的所有不重复元素组合(不考虑顺序)。
  • 你写的['picaacd']是一个仅包含1个字符串元素的列表,而你指定了r=2——要选2个元素,但可迭代对象里只有1个元素,自然没有符合条件的组合,返回空列表。
正确的写法

如果你的需求是从字符串'picaacd'的单个字符中生成2个字符的组合,直接把字符串传给combinations即可(字符串本身是可迭代对象,每个字符是独立元素):

from itertools import combinations
TUPLES = list(combinations('picaacd', 2))
print(TUPLES)

执行后会得到所有2个字符的组合,示例输出片段:

[('p', 'i'), ('p', 'c'), ('p', 'a'), ('p', 'a'), ('p', 'c'), ('p', 'd'), ('i', 'c'), ...]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:18:16