在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括号用于“分组单词”——这是一个相当于字符串周围引号的徽标。