Single liner for converting dictionary values into a separate dictionary

NNA :

I have a dictionary dict1 whose values are also dictionaries

dict1 = 
  {
   0: {'test1': ['pass', 'pass']},
   1: {'test2': ['fail', 'pass']},
   2: {'test3': ['fail', 'fail']},
   3: {'test4': []},
   4: {'test5': ['pass']},
   5: {'test6': ['pass', 'pass']}
  }

I want to get its values as a separate dictionary dict2, I have tried like this

dict2 = {k:v for k,v in dict(dict1.values()).items()}

I am getting an error below

ValueError: dictionary update sequence element #0 has length 1; 2 is required

Expected Output

dict2 =
      {
      'test1': ['pass', 'pass'],
      'test2': ['fail', 'pass'],
      'test3': ['fail', 'fail'],
      'test4': [],
      'test5': ['pass'],
      'test6': ['pass', 'pass']
      }

Any help is appreciated

Ajax1234 :

You can use dict:

dict2 = dict(b for i in dict1.values() for b in i.items())

Output:

{'test1': ['pass', 'pass'], 
 'test2': ['fail', 'pass'], 
 'test3': ['fail', 'fail'], 
 'test4': [], 
 'test5': ['pass'], 
 'test6': ['pass', 'pass']
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=360283&siteId=1