def getList(self):
        # get file
        list = self.getLibrary('default_list.json')
        list_ins = self.Preferences.get('user_libraries', '')

        # if none result
        if(list['total'] == 0):
            list = [_('none_lib_found')]
            return list

        # arrange list to the quickpanel
        quick_list = []
        for item in list['items']:
            if(str(item['id']) + ' ' not in " ".join(list_ins) + ' '):
                item_list = []
                item_list.append(item['name'])
                item_list.append(item['description'])
                item_list.append(str(item['id']))
                quick_list.append(item_list)

        # save and return data
        self.saveLibraryData(quick_list, 'quick_list.json')
        return quick_list
an example of dynamic programming using a memoizing decorator
dataset/ETHPy150Open gepd/Deviot/libs/Libraries.py/Libraries.getList--crossover with--dataset/ETHPy150Open bt3gl/Python-and-Algorithms-and-Data-Structures/src/USEFUL/dynamic_programming/memo.py/memo