2015-02-27 3 views
2

У меня есть список, который содержит один или несколько элементов:Автоматического обновления переменной

fruits = ['apple', 'orange', 'pear'] #or could be one or many 

Я хочу создать переменные в зависимости от количества элементов: Кода:

for i in range(len(fruits)): 
     "Fruit".format(i) = fruits[i] 

Я хочу, чтобы получить как:

Fruit1=apple, Fruit2=orange, Fruit3=pear 

Любая помощь, как я могу это получить?

+0

возможно дубликат [Как вы можете динамически создавать переменные в Python через время цикла?] (Http://stackoverflow.com/questions/5036700/how-can-you-dynamically-create-variables-in -python-through-a-while-loop) – Dannnno

+0

Прежде всего, ваше задание назад. –

+0

Его назначение не назад. Он/она хочет создать несколько именованных переменных из элементов в списке. Синтаксис в вопросе не будет работать, и с самого начала это плохая идея, но именно поэтому он задал вопрос. – kindall

ответ

0

Прежде всего, ваше задание назад. Вы пытаетесь установить индекс списка в строке вместо строки в индексе списка. В противном случае я предлагаю использовать функцию перечисления. Не поддавайтесь моему форматированию, есть мои способы сделать это в Python.

for i, j in enumerate(fruits): 
    fruits[i] = "Fruit%d=%s" % (i + 1, j) 
1

Как надлежащим образом для таких задач, которые вы можете использовать словарь:

>>> fruits = ['apple', 'orange', 'pear'] 
>>> d={"Fruit{}".format(i):j for i,j in enumerate(fruits,1)} 
>>> d 
{'Fruit1': 'apple', 'Fruit2': 'orange', 'Fruit3': 'pear'} 
>>> d['Fruit1'] 
'apple' 

Примечания, что если вы используете структуру данных, как словарь для вашей проблемы, вы получите много преимуществ, как , что вы можете получить доступ ко всем своим значениям с помощью dict.values(), а все ключи с dict.keys() также могут быть более легкими для взаимодействия с другими структурами данных!

>>> d.keys() 
['Fruit1', 'Fruit2', 'Fruit3'] 
>>> d.values() 
['apple', 'orange', 'pear'] 
+0

Я не думаю, что OP предназначался для использования словаря. Я думаю, ему просто нужен список с номером фрукта в строке. –

+0

@MalikBrahimi да, я знаю это, но это гибкий и расширяемый способ! для таких задач! – Kasramvd

+0

Возможно, вы захотите сбросить начальный параметр '1', чтобы« перечислить », поскольку OP, похоже, хочет индексировать 1 на основе ... –

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