2014-11-08 2 views
0

Я хочу создать столько пустых списков, сколько целых чисел в lst (список целых чисел) и добавить их в lst в конец каждой переменной, назначенной каждому пустым спискам :Создайте несколько пустых списков и назначьте их различным переменным

def create_3C_object_lists(lst): 
     """ creates all necessary lists """ 
     for i in range(len(lst)): 
       exec("globals()['_3C_%d'] = []" % (lst[i])) 
       print(type(_3C_%d)) % (lst[i]) 

Что я надеюсь получить:

_3C_(integer at index 0 in lst) 
_3C_(integer at index 1 in lst) 
... 

и так далее. Есть ли лучший способ сделать это? Возможно, без «exec»?

+1

Вы лучше сделать список, чем сделать кучу переменных с похожими именами. – BrenBarn

+0

Мне нужна куча списков, хотя для последующей ссылки в моей программе. Я добавляю вещи в эти списки из гораздо большего списка, основанного на числах в конце, поэтому позже я могу создавать комбинации через то, что находится в этих списках. Есть много элементов, и мне было бы проще визуализировать, могу ли я просто классифицировать их через эти списки. – bjd2385

+1

Вы можете составить список списков. – BrenBarn

ответ

2

Просто создать словарь:

_3C_ = {i: [] for i in lst} 
# Use it like this: 
_3C_[17].append(...) 

Если по какой-то причине вам действительно нужна переменная, вы можете сделать это без exec, как это:

globals()['_3C_{}'.format(your_integer)] = [] 
Смежные вопросы