, . itertools.product()
In [50]: [{'p':i, 'q': j} for i, j in product(range(1, 4), range(1, 4)) if 0.5< i/j <1]
Out[50]: [{'p': 2, 'q': 3}]
, :
def est_bit_proportion(arr1, arr2):
all_results = []
answers = []
for i, j in product(arr1, arr2):
bp = round(i/j, 2)
if 0.5< i/j <1:
answers.append({'p':i, 'q': j, 'bp': bp})
all_results.append({'p':i, 'q': j, 'bp': bp})
return {'all_results': all_results, 'answers': answers}
:
In [65]: est_bit_proportion(range(1, 4), range(1, 4))
Out[65]:
{'all_results': [{'p': 1, 'q': 1, 'bp': 1.0},
{'p': 1, 'q': 2, 'bp': 0.5},
{'p': 1, 'q': 3, 'bp': 0.33},
{'p': 2, 'q': 1, 'bp': 2.0},
{'p': 2, 'q': 2, 'bp': 1.0},
{'p': 2, 'q': 3, 'bp': 0.67},
{'p': 3, 'q': 1, 'bp': 3.0},
{'p': 3, 'q': 2, 'bp': 1.5},
{'p': 3, 'q': 3, 'bp': 1.0}],
'answers': [{'p': 2, 'q': 3, 'bp': 0.67}]}