Putting a zipped object into a dictionary
dictionary, python
Solution
Add in keys and produce a dictionary for each of your `zipped` entries:
track_keys = ("artist", "title", "image_xl", "image_l", "image_m", "image_s")
zipped = zip(_artist_name, _artist_title, _xl, _l, _m, _s)
track_data['recent_tracks'] = [dict(zip(track_keys, values)) for values in zipped]
Demo:
>>> _artist_name = ['artist {}'.format(i + 1) for i in range(30)]
>>> _artist_title = ['title {}'.format(i + 1) for i in range(30)]
>>> _xl = ['xl image {}'.format(i + 1) for i in range(30)]
>>> _l = ['l image {}'.format(i + 1) for i in range(30)]
>>> _m = ['m image {}'.format(i + 1) for i in range(30)]
>>> _s = ['s image {}'.format(i + 1) for i in range(30)]
>>>
>>> from pprint import pprint
>>> track_keys = ("artist", "title", "image_xl", "image_l", "image_m", "image_s")
>>> zipped = zip(_artist_name, _artist_title, _xl, _l, _m, _s)
>>> pprint([dict(zip(track_keys, values)) for values in zipped])
[{'artist': 'artist 1',
'image_l': 'l image 1',
'image_m': 'm image 1',
'image_s': 's image 1',
'image_xl': 'xl image 1',
'title': 'title 1'},
{'artist': 'artist 2',
'image_l': 'l image 2',
'image_m': 'm image 2',
'image_s': 's image 2',
'image_xl': 'xl image 2',
'title': 'title 2'},
{'artist': 'artist 3',
'image_l': 'l image 3',
'image_m': 'm image 3',
'image_s': 's image 3',
'image_xl': 'xl image 3',
'title': 'title 3'},
{'artist': 'artist 4',
'image_l': 'l image 4',
'image_m': 'm image 4',
'image_s': 's image 4',
'image_xl': 'xl image 4',
'title': 'title 4'},
{'artist': 'artist 5',
'image_l': 'l image 5',
'image_m': 'm image 5',
'image_s': 's image 5',
'image_xl': 'xl image 5',
'title': 'title 5'},
{'artist': 'artist 6',
'image_l': 'l image 6',
'image_m': 'm image 6',
'image_s': 's image 6',
'image_xl': 'xl image 6',
'title': 'title 6'},
{'artist': 'artist 7',
'image_l': 'l image 7',
'image_m': 'm image 7',
'image_s': 's image 7',
'image_xl': 'xl image 7',
'title': 'title 7'},
{'artist': 'artist 8',
'image_l': 'l image 8',
'image_m': 'm image 8',
'image_s': 's image 8',
'image_xl': 'xl image 8',
'title': 'title 8'},
{'artist': 'artist 9',
'image_l': 'l image 9',
'image_m': 'm image 9',
'image_s': 's image 9',
'image_xl': 'xl image 9',
'title': 'title 9'},
{'artist': 'artist 10',
'image_l': 'l image 10',
'image_m': 'm image 10',
'image_s': 's image 10',
'image_xl': 'xl image 10',
'title': 'title 10'},
{'artist': 'artist 11',
'image_l': 'l image 11',
'image_m': 'm image 11',
'image_s': 's image 11',
'image_xl': 'xl image 11',
'title': 'title 11'},
{'artist': 'artist 12',
'image_l': 'l image 12',
'image_m': 'm image 12',
'image_s': 's image 12',
'image_xl': 'xl image 12',
'title': 'title 12'},
{'artist': 'artist 13',
'image_l': 'l image 13',
'image_m': 'm image 13',
'image_s': 's image 13',
'image_xl': 'xl image 13',
'title': 'title 13'},
{'artist': 'artist 14',
'image_l': 'l image 14',
'image_m': 'm image 14',
'image_s': 's image 14',
'image_xl': 'xl image 14',
'title': 'title 14'},
{'artist': 'artist 15',
'image_l': 'l image 15',
'image_m': 'm image 15',
'image_s': 's image 15',
'image_xl': 'xl image 15',
'title': 'title 15'},
{'artist': 'artist 16',
'image_l': 'l image 16',
'image_m': 'm image 16',
'image_s': 's image 16',
'image_xl': 'xl image 16',
'title': 'title 16'},
{'artist': 'artist 17',
'image_l': 'l image 17',
'image_m': 'm image 17',
'image_s': 's image 17',
'image_xl': 'xl image 17',
'title': 'title 17'},
{'artist': 'artist 18',
'image_l': 'l image 18',
'image_m': 'm image 18',
'image_s': 's image 18',
'image_xl': 'xl image 18',
'title': 'title 18'},
{'artist': 'artist 19',
'image_l': 'l image 19',
'image_m': 'm image 19',
'image_s': 's image 19',
'image_xl': 'xl image 19',
'title': 'title 19'},
{'artist': 'artist 20',
'image_l': 'l image 20',
'image_m': 'm image 20',
'image_s': 's image 20',
'image_xl': 'xl image 20',
'title': 'title 20'},
{'artist': 'artist 21',
'image_l': 'l image 21',
'image_m': 'm image 21',
'image_s': 's image 21',
'image_xl': 'xl image 21',
'title': 'title 21'},
{'artist': 'artist 22',
'image_l': 'l image 22',
'image_m': 'm image 22',
'image_s': 's image 22',
'image_xl': 'xl image 22',
'title': 'title 22'},
{'artist': 'artist 23',
'image_l': 'l image 23',
'image_m': 'm image 23',
'image_s': 's image 23',
'image_xl': 'xl image 23',
'title': 'title 23'},
{'artist': 'artist 24',
'image_l': 'l image 24',
'image_m': 'm image 24',
'image_s': 's image 24',
'image_xl': 'xl image 24',
'title': 'title 24'},
{'artist': 'artist 25',
'image_l': 'l image 25',
'image_m': 'm image 25',
'image_s': 's image 25',
'image_xl': 'xl image 25',
'title': 'title 25'},
{'artist': 'artist 26',
'image_l': 'l image 26',
'image_m': 'm image 26',
'image_s': 's image 26',
'image_xl': 'xl image 26',
'title': 'title 26'},
{'artist': 'artist 27',
'image_l': 'l image 27',
'image_m': 'm image 27',
'image_s': 's image 27',
'image_xl': 'xl image 27',
'title': 'title 27'},
{'artist': 'artist 28',
'image_l': 'l image 28',
'image_m': 'm image 28',
'image_s': 's image 28',
'image_xl': 'xl image 28',
'title': 'title 28'},
{'artist': 'artist 29',
'image_l': 'l image 29',
'image_m': 'm image 29',
'image_s': 's image 29',
'image_xl': 'xl image 29',
'title': 'title 29'},
{'artist': 'artist 30',
'image_l': 'l image 30',
'image_m': 'm image 30',
'image_s': 's image 30',
'image_xl': 'xl image 30',
'title': 'title 30'}]
Problem
I have object `zipped` instantiated as follows: `zipped = zip(_artist_name, _artist_title, _xl, _l, _m, _s)` Where the parameters are each an array of 30 strings. I have a dictionary `track_data` and under the key `recent_tracks` I have further key-value pairs that look like this: ``` track_data['recent_tracks'] = [ {"artist": ?, "title": ?, "image_xl": ?, "image_l": ?, "image_m": ?, "image_s": ?} ] ``` I want `track_data['recent_tracks']` to contain 30 objects where each object contains 6 children. A bit like this: ``` object 1 - artist title xl l m s object 2 - artist title xl l m s ``` The previous method I had was similar to the example above but it simply creates one object of 6 arrays with 30 objects. How do I iterate through the zipped item to assign the correct value to the corresponding pair in 30 separate objects?