I want to create a dict with lists as values, where the content on the lists depends on whether or not the key (numbers 1 to 100) is dividable by 3,5 and/or 7
The output would be like this:
{ 1: ['nodiv3', 'nodiv5', 'nodiv7'], 3: ['div3', 'nodiv5', 'nodiv7'], 15: ['div3', 'div5', 'nodiv7'], } Similar questions where about filtering the list/values, not creating them.
dict_divider = {} for x in range(0,101): div_list= [] if x % 3 == 0: div_list.append('div3') else: div_list.append('nodiv3') if x % 5 == 0: div_list.append('div5') else: div_list.append('nodiv5') if x % 7 == 0: div_list.append('div7') else: div_list.append('nodiv7') dict_divider[x] = div_list This works just fine, but is there a way to do this with a pythonic one-/twoliner?
Something along like this: d = dict((val, range(int(val), int(val) + 2)) for val in ['1', '2', '3'])