Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MC={'рыба': ['100'], 'мясо': ['120']}
- RC={'рыба': ['3'], 'мясо': ['2']}
- GC={'мясо': 240, 'рыба': 300}
- CG = {}
- for key in MC.keys():
- try:
- CG[key] = [str(int(count) * int(RC[key][index])) for index, count in enumerate(MC[key])]
- except KeyError:
- CG[key] = MC[key]
- In [8]: MC={'рыба': ['100'], 'мясо': ['120']}
- ...: RC={'рыба': ['3'], 'мясо': ['2']}
- ...:
- In [9]: foo = lambda dct_1, dct_2: {key: int(dct_2[key][0]) * int(dct_1[key][0]) for key in dct_2}
- In [10]: foo(MC, RC)
- Out[10]: {'мясо': 240, 'рыба': 300}
- import itertools, operator, functools
- MC = {'рыба': ['100'], 'мясо': ['120', '5', '6']}
- RC = {'рыба': ['3'], 'мясо': ['2']}
- CC = {'рыба': ['2'], 'мясо': ['1', '3'], 'квас': ['3']}
- c_dicts = MC, RC, CC
- GC = {k: [functools.reduce(operator.mul, map(int, nums), 1)
- for nums in itertools.zip_longest(*[dt.get(k, [1]) for dt in c_dicts], fillvalue=1)]
- for k in set(itertools.chain(*c_dicts))}
- # {'квас': [3], 'мясо': [240, 15, 6], 'рыба': [600]}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement