VVariantOak
AIコーディングワークスペース

選択肢の組み合わせ上限

結果数の上限を確認してから、順序付きの商品選択肢の組み合わせを列挙してください。

● ● ●VariantOak●
ワークフロー · 選択肢の組み合わせ上限 ×
from itertools import product
from math import prod
def variants(groups, limit):
    if type(limit) is not int or limit < 0:
        raise ValueError("limit")
    if not groups: return []
    if any(len(set(g)) != len(g) for g in groups):
        raise ValueError("duplicate option")
    if prod(map(len, groups)) > limit:
        raise ValueError("too many variants")
    return list(product(*groups))
✳結果数の上限を確認してから、順序付きの商品選択肢の組み合わせを列挙してください。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
  1. モデル

    OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。

  2. プロジェクト

    空のグループや重複ラベルを試し、出力を確保する前に多すぎる組み合わせを拒否してください。

  3. 適用前に確認

    実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

ワークフロー

選択肢の組み合わせ上限

ワークフロー ↗
ワークフロー
from itertools import product
from math import prod
def variants(groups, limit):
    if type(limit) is not int or limit < 0:
        raise ValueError("limit")
    if not groups: return []
    if any(len(set(g)) != len(g) for g in groups):
        raise ValueError("duplicate option")
    if prod(map(len, groups)) > limit:
        raise ValueError("too many variants")
    return list(product(*groups))
AIコーディングワークスペース

次のアイデアはここから。

Windows版をダウンロード ↗