You can use itertools.chain.from_iterable
, itertools.izip
(or zip
) and a dict comprehension:
>>> from itertools import chain, izip
>>> value_list = [[['NaN'], ['sponge'], ['Palau']], [['skin'], ['fish'], ['Cuba']], [['claw'], ['crab'], ['Japan: Aomori, Natsudomari peninsula']]]
>>> key_tuple = ('AB479448', 'AB479449', 'AB602436')
>>> {k: list(chain.from_iterable(v)) for k, v in izip(key_tuple, value_list)}
{'AB479449': ['skin', 'fish', 'Cuba'],
'AB479448': ['NaN', 'sponge', 'Palau'],
'AB602436': ['claw', 'crab', 'Japan: Aomori, Natsudomari peninsula']}