具有任意数量集的Python itertools.product

时间:2013-08-20 17:52:34

标签: python product itertools

我希望执行以下代码:

temp = []
temp.append([1,2])
temp.append([3,4])
temp.append([5,6])

print list(itertools.product(temp[0],temp[1],temp[2]))

但是,我想以任意长度执行temp。即更像是:

print list(itertools.product(temp))

如何正确地为itertools.product格式化输入,以便在第一段代码中生成相同的结果,而不明确知道temp中有多少条目?

2 个答案:

答案 0 :(得分:3)

print list(itertools.product(*temp))

使用*将可迭代的参数解压缩为单独的位置参数。

答案 1 :(得分:0)

或者可以这样做:

使用zip组合列表。 结果是一个列表迭代器。

public class Name {
private String title, genre, year;

public Name() {
}

public Name(String title, String genre, String year) {
    this.title = title;
    this.genre = genre;
    this.year = year;
}

public String getTitle() {
    return title;

}

public void setTitle(String name) {
    this.title = name;

}

public String getYear() {
    return year;

}

public void setYear(String year) {
    this.year = year;

}

public String getGenre() {
    return genre;

}

public void setGenre(String genre) {
    this.genre = genre;

}
}