动态创建变量

时间:2014-11-25 22:33:31

标签: python dynamic

有没有办法在Python中动态创建字符串?

例如来自:

var = 5

我需要创建:

string_00 = ""
string_01 = ""
string_02 = ""
string_03 = ""
string_05 = ""

提前感谢任何提示。

2 个答案:

答案 0 :(得分:4)

这是可能的,但这个想法在大多数情况下都不合理;如果您不知道它们的数量或名称是什么,则无法编写其余代码来处理这些字符串变量。

要解决这类问题,请使用您知道的一个变量,并使其成为某种容器。然后将字符串放入容器中,并使用容器名称对它们进行处理。

这使用一个名为'strings'的字典,并将动态字符串数放入其中:

var = 5

strings = {}
for i in range(var):
    strings[i] = ""

然后,您可以使用strings[4]单独与他们联系,或查找len(strings)中有多少人,或使用strings.values()在列表中访问所有人。

你仍然需要计划做什么,因为如果你不知道当时会有多少,或者它们将会是什么,你将不能使用“字符串4”写代码。这取决于你要解决的问题,以及处理它的好方法。可能,初始化 n 空字符串并不是一个好方法。

答案 1 :(得分:0)

正如iThink所说,你可能想要使用数组。

如果您确实需要动态创建变量,可以使用

globals()['string_01']= ''