使用字符串元素列表作为数组

时间:2014-08-21 05:26:03

标签: python string dictionary

我有一个字符串列表:

list1 = ['array1', 'array2', 'array3']

我希望将其元素用作其他列表的名称,如(作为概念示例):

list1[0] = [1, 2, 3]

我知道这个分配没有任何意义,但它只是为了展示我需要的东西。 我已经找了很多,但没有找到一个方便的例子。如果我理解得当,这不是正确的方法,最好是使用dictionaries。但是,我从未使用过字典,所以我需要一些例子。

3 个答案:

答案 0 :(得分:1)

使用字典:

list1 = {'array1': [0, 1, 2], 'array2': [0, 3], 'array3': [1]}

然后像这样访问它:

list1['array1'] # output is [0, 1, 2]

动态填充词典:

list1 = {'array1': []}
list1['array1'].append(1)

答案 1 :(得分:1)

aDict = { name: 42 for name in list1 }

这会给你:

{'array3': 42, 'array2': 42, 'array1': 42}

如果您想订购它:

from collections import OrderedDict
aDict = OrderedDict((name, 42) for name in list1)

答案 2 :(得分:1)

您可以使用exec这样做:

list1 = ['array1', 'array2', 'array3']
x=list1[1]    
exec("%s = %d" % (x,2))
print array2

结果如下: 2

但是当你可以使用比字典更安全的东西时,永远不要使用exec,这可能很危险!