首页 > 解决方案 > 获取测验答案的所有可能组合

问题描述

我有一本字典,其中问题作为键,答案选项列表作为值。

quiz = {
  'Question 1': ['yes', 'no'],
  'Question 2': ['dogs', 'cats'],
  'Question 3': ['apples', 'oranges']
}

获得所有可能的答案组合的最佳方法是什么?

标签: pythonlistdictionary

解决方案


实际上2**3,您可以使用8 种可能性itertools.product

from itertools import product

quiz = {
    'Question 1': ['yes', 'no'],
    'Question 2': ['dogs', 'cats'],
    'Question 3': ['apples', 'oranges']
}

for responses in product(*quiz.values()):
    print(responses)

# each row is a tuple
('yes', 'dogs', 'apples')
('yes', 'dogs', 'oranges')
('yes', 'cats', 'apples')
('yes', 'cats', 'oranges')
('no', 'dogs', 'apples')
('no', 'dogs', 'oranges')
('no', 'cats', 'apples')
('no', 'cats', 'oranges')

推荐阅读