2016-01-29 3 views
-2

Я хотел был бы иметь возможность создать отдельные детали из списка.Как создать несколько элементов из списка в python

Например

test_list = ["dog", "cat", 12, 34, "boop"] 

#code code code 

item_1 = "dog" 
item_2 = "cat" 
item_3 = 12 
item_4 = 34 
item_5 = "boop" 

Так что я хотел бы, чтобы запустить какой-цикл, который проходит через список и создает новый объект для каждого элемента в списке. Это возможно?

+3

Возможно ли это? Да! но какой тип объекта и как вы хотите? – SIslam

+3

Можно вводить переменные в глобальную область видимости, но я действительно удивляюсь, зачем вы это делаете. Это указывает на то, что что-то в вашем дизайне неверно по пути. (предположим, что у вас есть 5 переменных. Теперь, что вы собираетесь делать с ними, вы не можете сделать со списком?) – Tibo

+2

http://xyproblem.info/ –

ответ

-1

Вы можете использовать словарь, возвращенное функцией globals() установить переменные так:

test_list = ["dog", "cat", 12, 34, "boop"] 

for i, x in enumerate(test_list): 
    globals()["item_" + str(i + 1)] = x 

print item_1 
print item_2 
print item_3 
print item_4 
print item_5 
+0

Мгновенный downvote. Не помогайте OP делать глупые вещи. По крайней мере, оставь жирное смелое предупреждение, что это ужасная идея. –

+2

Если вы считаете, что это глупая идея, вы должны проголосовать за вопрос. Кажется, что этот ответ затрагивает именно тот вопрос, который был задан. –

+0

Если у вас есть проблемы с этим, не стесняйтесь публиковать сообщения на мета. –

1

Не делайте этого. Либо сохранить список как есть, потому что вы уже можете получить номер элемента х с test_list[x-1] или построить словарь:

>>> items = {'item_{}'.format(i):thing for i,thing in enumerate(test_list,1)} 
>>> items['item_2'] 
'cat' 

Поскольку ваши имена не являются очень значимыми (вы только компенсируя индекс списка один и добавление «ITEM_ 'перед этим), я не думаю, что создание словаря здесь особенно необходимо.

+0

Из исследования, которое я сделал с тех пор, как я спросил об этом, я понял, что вы правы. Словарь - это путь. Спасибо! – Natty

Смежные вопросы