Yes, maybe use collections.defaultdict :
>>> from collections import defaultdict >>> dic = defaultdict(list) >>> lis = [['test_data', 'new_directory', 'ok.txt'], ['test_data', 'reads_1.fq'], for item in lis: key = "/".join(item[:-1]) dic[key].append(item[-1]) ... >>> dic defaultdict(<type 'list'>, {'test_data': ['reads_1.fq', 'test_ref.fa'], 'test_data/new_directory': ['ok.txt']})
using a simple dict :
>>> dic = {} >>> for item in lis: key = "/".join(item[:-1]) dic.setdefault(key, []).append(item[-1]) ... >>> dic {'test_data': ['reads_1.fq', 'test_ref.fa'], 'test_data/new_directory': ['ok.txt']}
Ashwini chaudhary
source share