我正在初始化很多字符串变量,如下所示:
a, b, c, d, e, f, g, h = "", "", "", "", "", "", "", ""
你可以看到这看起来不太好(更多的变量有更长的名字)。有更紧凑的快捷方式吗?
答案 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)]