自动更新变量

时间:2015-02-27 20:22:42

标签: python variables

我有一个包含一个或多个项目的列表:

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

任何帮助我怎么能得到这个?

2 个答案:

答案 0 :(得分: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']

答案 1 :(得分:0)

首先,你的任务是倒退的。您尝试在字符串中设置列表索引,而不是在列表索引中设置字符串。否则,我建议使用枚举函数。不要被我的格式化绊倒,我有办法在Python中这样做。

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