Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中生成嵌套元组的所有组合_Python - Fatal编程技术网

在python中生成嵌套元组的所有组合

在python中生成嵌套元组的所有组合,python,Python,下面是一个简短但完整的伯克利标识程序: to choices :menu [:sofar []] if emptyp :menu [print :sofar stop] foreach first :menu [(choices butfirst :menu sentence :sofar ?)] end 下面是你如何使用它。你打字 choices [[small medium large] [vanilla [ultra chocolate] lychee [rum rai

下面是一个简短但完整的伯克利标识程序:

to choices :menu [:sofar []]
if emptyp :menu [print :sofar stop]
foreach first :menu [(choices butfirst :menu sentence :sofar ?)]
end
下面是你如何使用它。你打字

choices [[small medium large]
         [vanilla [ultra chocolate] lychee [rum raisin] ginger]
         [cone cup]]
和徽标回复

    small vanilla cone
    small vanilla cup
    small ultra chocolate cone
    small ultra chocolate cup
    small lychee cone
    small lychee cup
    small rum raisin cone
    small rum raisin cup
    small ginger cone
    small ginger cup
    medium vanilla cone
    medium vanilla cup
    medium ultra chocolate cone
    medium ultra chocolate cup
    medium lychee cone
    medium lychee cup
    medium rum raisin cone
    medium rum raisin cup
    medium ginger cone
    medium ginger cup
    large vanilla cone
    large vanilla cup
    large ultra chocolate cone
    large ultra chocolate cup
    large lychee cone
    large lychee cup
    large rum raisin cone
    large rum raisin cup
    large ginger cone
    large ginger cup
资料来源:

在python中如何实现这一点?

与往常一样,提供了一个解决方案:

>>> choices = [["small", "medium", "large"],
...            ["vanilla", "ultra chocolate", "lychee", "rum raisin", "ginger"],
...            ["cone", "cup"]]
>>> from itertools import product
>>> print("\n".join(" ".join(item) for item in product(*choices)))
small vanilla cone
small vanilla cup
small ultra chocolate cone
small ultra chocolate cup
small lychee cone
small lychee cup
small rum raisin cone
small rum raisin cup
small ginger cone
small ginger cup
medium vanilla cone
<etc...>
>>选项=[[“小”、“中”、“大”],
…[“香草”、“超级巧克力”、“荔枝”、“朗姆酒葡萄干”、“生姜”],
…[“锥形”、“杯形”]]
>>>来自itertools进口产品
>>>打印(“\n”.join(“.join(项目)用于产品(*选项))中的项目)
小香草甜筒
小香草杯
超小型巧克力蛋卷
超小型巧克力杯
小荔枝果
小荔枝杯
小朗姆酒葡萄干筒
小朗姆酒葡萄干杯
小姜筒
小姜杯
中等香草甜筒

@TimPietzcker括号用于“分组单词”——这是一个相当于字符串周围引号的徽标。