Reordering the items of a dictionary taken with a for

Viewed 58

I have a dictionary that looks like this:

Test = {"list_0" : ["a","b","c"],
        "list_1" : ["e","f","g"],
        "list_2" : ["h","i","e"],
        "list_3" : ["f","g","h"],
        "list_4" : ["i","l","m"]}

for list_n, Letter  in Test.items():
#   print (Letter) 
    print (list_n) 
    for s in Letter:
        print (s)

I would like to change the order in which the items are chosen:

example 1: list_0, 1, 3, 4 example 2: List_1, 2, 3 ,0 ... Until all possible combinations have been completed.

I've tried doing this but I'm not sure I'm going the right way.

1 Answers

I think I have the answer to your question:

import itertools

Test = {"list_0": ["a", "b", "c"],
        "list_1": ["e", "f", "g"],
        "list_2": ["h", "i", "e"],
        "list_3": ["f", "g", "h"],
        "list_4": ["i", "l", "m"]}
for L in range(0, len(Test) + 1):
    for comb in itertools.combinations(Test, L):
        combination = list(comb)
        for _list in combination:
            print(_list, Test[_list], sep=": ")
        print("*" * 80)

Output:

********************************************************************************
list_0: ['a', 'b', 'c']
********************************************************************************
list_1: ['e', 'f', 'g']
********************************************************************************
list_2: ['h', 'i', 'e']
********************************************************************************
list_3: ['f', 'g', 'h']
********************************************************************************
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
********************************************************************************
list_0: ['a', 'b', 'c']
list_2: ['h', 'i', 'e']
********************************************************************************
list_0: ['a', 'b', 'c']
list_3: ['f', 'g', 'h']
********************************************************************************
list_0: ['a', 'b', 'c']
list_4: ['i', 'l', 'm']
********************************************************************************
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
********************************************************************************
list_1: ['e', 'f', 'g']
list_3: ['f', 'g', 'h']
********************************************************************************
list_1: ['e', 'f', 'g']
list_4: ['i', 'l', 'm']
********************************************************************************
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
********************************************************************************
list_2: ['h', 'i', 'e']
list_4: ['i', 'l', 'm']
********************************************************************************
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_3: ['f', 'g', 'h']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
********************************************************************************
list_0: ['a', 'b', 'c']
list_2: ['h', 'i', 'e']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
********************************************************************************
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_4: ['i', 'l', 'm']
********************************************************************************
list_1: ['e', 'f', 'g']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************
list_0: ['a', 'b', 'c']
list_1: ['e', 'f', 'g']
list_2: ['h', 'i', 'e']
list_3: ['f', 'g', 'h']
list_4: ['i', 'l', 'm']
********************************************************************************

OR if you're looking for every possible combination of these four lists:

import itertools

Test = {"list_0": ["a", "b", "c"],
        "list_1": ["e", "f", "g"],
        "list_2": ["h", "i", "e"],
        "list_3": ["f", "g", "h"],
        "list_4": ["i", "l", "m"]}
for comb in list(itertools.permutations(Test)):
    print(comb)

Output:

('list_0', 'list_1', 'list_2', 'list_3', 'list_4')
('list_0', 'list_1', 'list_2', 'list_4', 'list_3')
('list_0', 'list_1', 'list_3', 'list_2', 'list_4')
('list_0', 'list_1', 'list_3', 'list_4', 'list_2')
('list_0', 'list_1', 'list_4', 'list_2', 'list_3')
('list_0', 'list_1', 'list_4', 'list_3', 'list_2')
('list_0', 'list_2', 'list_1', 'list_3', 'list_4')
('list_0', 'list_2', 'list_1', 'list_4', 'list_3')
('list_0', 'list_2', 'list_3', 'list_1', 'list_4')
('list_0', 'list_2', 'list_3', 'list_4', 'list_1')
('list_0', 'list_2', 'list_4', 'list_1', 'list_3')
('list_0', 'list_2', 'list_4', 'list_3', 'list_1')
('list_0', 'list_3', 'list_1', 'list_2', 'list_4')
('list_0', 'list_3', 'list_1', 'list_4', 'list_2')
('list_0', 'list_3', 'list_2', 'list_1', 'list_4')
('list_0', 'list_3', 'list_2', 'list_4', 'list_1')
('list_0', 'list_3', 'list_4', 'list_1', 'list_2')
('list_0', 'list_3', 'list_4', 'list_2', 'list_1')
('list_0', 'list_4', 'list_1', 'list_2', 'list_3')
('list_0', 'list_4', 'list_1', 'list_3', 'list_2')
('list_0', 'list_4', 'list_2', 'list_1', 'list_3')
('list_0', 'list_4', 'list_2', 'list_3', 'list_1')
('list_0', 'list_4', 'list_3', 'list_1', 'list_2')
('list_0', 'list_4', 'list_3', 'list_2', 'list_1')
('list_1', 'list_0', 'list_2', 'list_3', 'list_4')
('list_1', 'list_0', 'list_2', 'list_4', 'list_3')
('list_1', 'list_0', 'list_3', 'list_2', 'list_4')
('list_1', 'list_0', 'list_3', 'list_4', 'list_2')
('list_1', 'list_0', 'list_4', 'list_2', 'list_3')
('list_1', 'list_0', 'list_4', 'list_3', 'list_2')
('list_1', 'list_2', 'list_0', 'list_3', 'list_4')
('list_1', 'list_2', 'list_0', 'list_4', 'list_3')
('list_1', 'list_2', 'list_3', 'list_0', 'list_4')
('list_1', 'list_2', 'list_3', 'list_4', 'list_0')
('list_1', 'list_2', 'list_4', 'list_0', 'list_3')
('list_1', 'list_2', 'list_4', 'list_3', 'list_0')
('list_1', 'list_3', 'list_0', 'list_2', 'list_4')
('list_1', 'list_3', 'list_0', 'list_4', 'list_2')
('list_1', 'list_3', 'list_2', 'list_0', 'list_4')
('list_1', 'list_3', 'list_2', 'list_4', 'list_0')
('list_1', 'list_3', 'list_4', 'list_0', 'list_2')
('list_1', 'list_3', 'list_4', 'list_2', 'list_0')
('list_1', 'list_4', 'list_0', 'list_2', 'list_3')
('list_1', 'list_4', 'list_0', 'list_3', 'list_2')
('list_1', 'list_4', 'list_2', 'list_0', 'list_3')
('list_1', 'list_4', 'list_2', 'list_3', 'list_0')
('list_1', 'list_4', 'list_3', 'list_0', 'list_2')
('list_1', 'list_4', 'list_3', 'list_2', 'list_0')
('list_2', 'list_0', 'list_1', 'list_3', 'list_4')
('list_2', 'list_0', 'list_1', 'list_4', 'list_3')
('list_2', 'list_0', 'list_3', 'list_1', 'list_4')
('list_2', 'list_0', 'list_3', 'list_4', 'list_1')
('list_2', 'list_0', 'list_4', 'list_1', 'list_3')
('list_2', 'list_0', 'list_4', 'list_3', 'list_1')
('list_2', 'list_1', 'list_0', 'list_3', 'list_4')
('list_2', 'list_1', 'list_0', 'list_4', 'list_3')
('list_2', 'list_1', 'list_3', 'list_0', 'list_4')
('list_2', 'list_1', 'list_3', 'list_4', 'list_0')
('list_2', 'list_1', 'list_4', 'list_0', 'list_3')
('list_2', 'list_1', 'list_4', 'list_3', 'list_0')
('list_2', 'list_3', 'list_0', 'list_1', 'list_4')
('list_2', 'list_3', 'list_0', 'list_4', 'list_1')
('list_2', 'list_3', 'list_1', 'list_0', 'list_4')
('list_2', 'list_3', 'list_1', 'list_4', 'list_0')
('list_2', 'list_3', 'list_4', 'list_0', 'list_1')
('list_2', 'list_3', 'list_4', 'list_1', 'list_0')
('list_2', 'list_4', 'list_0', 'list_1', 'list_3')
('list_2', 'list_4', 'list_0', 'list_3', 'list_1')
('list_2', 'list_4', 'list_1', 'list_0', 'list_3')
('list_2', 'list_4', 'list_1', 'list_3', 'list_0')
('list_2', 'list_4', 'list_3', 'list_0', 'list_1')
('list_2', 'list_4', 'list_3', 'list_1', 'list_0')
('list_3', 'list_0', 'list_1', 'list_2', 'list_4')
('list_3', 'list_0', 'list_1', 'list_4', 'list_2')
('list_3', 'list_0', 'list_2', 'list_1', 'list_4')
('list_3', 'list_0', 'list_2', 'list_4', 'list_1')
('list_3', 'list_0', 'list_4', 'list_1', 'list_2')
('list_3', 'list_0', 'list_4', 'list_2', 'list_1')
('list_3', 'list_1', 'list_0', 'list_2', 'list_4')
('list_3', 'list_1', 'list_0', 'list_4', 'list_2')
('list_3', 'list_1', 'list_2', 'list_0', 'list_4')
('list_3', 'list_1', 'list_2', 'list_4', 'list_0')
('list_3', 'list_1', 'list_4', 'list_0', 'list_2')
('list_3', 'list_1', 'list_4', 'list_2', 'list_0')
('list_3', 'list_2', 'list_0', 'list_1', 'list_4')
('list_3', 'list_2', 'list_0', 'list_4', 'list_1')
('list_3', 'list_2', 'list_1', 'list_0', 'list_4')
('list_3', 'list_2', 'list_1', 'list_4', 'list_0')
('list_3', 'list_2', 'list_4', 'list_0', 'list_1')
('list_3', 'list_2', 'list_4', 'list_1', 'list_0')
('list_3', 'list_4', 'list_0', 'list_1', 'list_2')
('list_3', 'list_4', 'list_0', 'list_2', 'list_1')
('list_3', 'list_4', 'list_1', 'list_0', 'list_2')
('list_3', 'list_4', 'list_1', 'list_2', 'list_0')
('list_3', 'list_4', 'list_2', 'list_0', 'list_1')
('list_3', 'list_4', 'list_2', 'list_1', 'list_0')
('list_4', 'list_0', 'list_1', 'list_2', 'list_3')
('list_4', 'list_0', 'list_1', 'list_3', 'list_2')
('list_4', 'list_0', 'list_2', 'list_1', 'list_3')
('list_4', 'list_0', 'list_2', 'list_3', 'list_1')
('list_4', 'list_0', 'list_3', 'list_1', 'list_2')
('list_4', 'list_0', 'list_3', 'list_2', 'list_1')
('list_4', 'list_1', 'list_0', 'list_2', 'list_3')
('list_4', 'list_1', 'list_0', 'list_3', 'list_2')
('list_4', 'list_1', 'list_2', 'list_0', 'list_3')
('list_4', 'list_1', 'list_2', 'list_3', 'list_0')
('list_4', 'list_1', 'list_3', 'list_0', 'list_2')
('list_4', 'list_1', 'list_3', 'list_2', 'list_0')
('list_4', 'list_2', 'list_0', 'list_1', 'list_3')
('list_4', 'list_2', 'list_0', 'list_3', 'list_1')
('list_4', 'list_2', 'list_1', 'list_0', 'list_3')
('list_4', 'list_2', 'list_1', 'list_3', 'list_0')
('list_4', 'list_2', 'list_3', 'list_0', 'list_1')
('list_4', 'list_2', 'list_3', 'list_1', 'list_0')
('list_4', 'list_3', 'list_0', 'list_1', 'list_2')
('list_4', 'list_3', 'list_0', 'list_2', 'list_1')
('list_4', 'list_3', 'list_1', 'list_0', 'list_2')
('list_4', 'list_3', 'list_1', 'list_2', 'list_0')
('list_4', 'list_3', 'list_2', 'list_0', 'list_1')
('list_4', 'list_3', 'list_2', 'list_1', 'list_0')

Please Tell me if I interpreted your question correctly.

Related