使用变量字符串命名另一个变量(Python)

时间:2014-11-03 00:54:36

标签: python

我有一个列表,我想在Object的命名中使用信息。 例如:

print this_device # ex. output ['dev879:', 'drain', '7.474', '11.163', '18.637']

我想要做的是使用this_device[0]作为用于创建对象的下一个变量的名称。

例如:

print this_device # ex. ['dev879:', 'drain', '7.474', '11.163', '18.637']

Drive_DeviceName_ = this_device[0] # which is 'dev879'

Drivedev879 = ReadableDevice(this_device[0], this_device[1], this_device[2])

如果有意义,请告诉我。

2 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。你可以做的是从列表中创建一个字典,并使用你想要的名称作为键。

devices = {}
devices['name'] = this_device[0]
etc...

通过从原始列表中创建属性名称列表,可以更快地完成此操作。我假设您提供的列表是属性列表。

props = ['name', 'prop_1', 'prop_2', ...]
this_device = ['dev879:', 'drain', '7.474', '11.163', '18.637']
device = dict(zip(props, this_device))

将导致:

{'name': 'dev870', 'prop_1': 'drain', ..}

答案 1 :(得分:0)

如果我理解你想做什么,你可以使用全局:

globals()['b'] = 3
# Now there is a variable named b
print b