初始化许多字符串变量

时间:2012-01-27 14:25:17

标签: python variable-assignment

我正在初始化很多字符串变量,如下所示:

a, b, c, d, e, f, g, h = "", "", "", "", "", "", "", ""

你可以看到这看起来不太好(更多的变量有更长的名字)。有更紧凑的快捷方式吗?

6 个答案:

答案 0 :(得分:14)

绝对更紧凑:

a=b=c=d=e=f=g=h=""

答案 1 :(得分:8)

作为a=b=c=...=value解决方案的替代答案,请尝试:

a, b, c, d, e, f, g, h = [""]*8

虽然如果你这样做,如果它们彼此之间有某种关系,将变量放在列表中可能是有意义的。

答案 2 :(得分:2)

后人:

from itertools import repeat
a, b, c, d, e, f, g, h, *_ = repeat("")

答案 3 :(得分:2)

from collections import defaultdict

初始化:

attrs = defaultdict(str)

获取'a'值:

print attrs['a'] # -> ''

要改变它:

attrs['a'] = 'abc'

答案 4 :(得分:1)

虽然这里介绍的许多解决方案都很可爱,但我会说明以下是您应该考虑的最紧凑的解决方案:

a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""

这七行代码将被读取并理解比其他任何解决方案快一个数量级。非常清楚的是,每个变量都被初始化为一个空字符串,您的眼睛可以快速理解这些代码,然后继续使用其他更重要的代码

说实话,对于现代显示器而言,上述代码几乎不会浪费屏幕空间。

如果您发现需要初始化超过7个变量,那么我建议您的设计需要重新考虑。考虑用更动态的字典或列表替换这些变量。

答案 5 :(得分:0)

尝试这个。

a, b, c, d, e, f, g, h = ["" for i in range(8)]