1
比较我大名单的所有可能的组合排列与组合
items = ["Apple","Banana","Orange","Peach"]
combs = []
for c in combinations(items, 2)):
combs.append([c[0],c[1]])
其中给出:
[['Apple', 'Banana'], ['Apple', 'Orange'], ['Apple', 'Peach'], ['Banana', 'Orange'], ['Banana', 'Peach'], ['Orange', 'Peach']]
而且用户可以输入从该列表中的两个项目,
我想在列表中获得所述组合的索引。
我可以这样做,如果用户输入正确的顺序,如“苹果香蕉”,但不是如果它是相反的“香蕉苹果”。因为没有[“香蕉”,“苹果”]
我知道我可以在输入中使用排列,因此它同时给出[“香蕉”,“苹果”]和正确的['苹果'''香蕉' ]。但是,如何在不使用嵌套for循环的情况下检查一个是否在另一个中呢?即使这个小检查导致12次迭代。
这里的鸟巢循环:
for pr in permutations([input1, input2], 2):
for comb in combinations(items, 2):
if ..........:
dosomething
如何使用'set'存储组合? –
Martijn得到了正确的答案。 –