Dav*_*ang 18 python variables list
如果我有一个清单,请说:
ll = ['xx','yy','zz']
Run Code Online (Sandbox Code Playgroud)
我想将此列表的每个元素分配给一个单独的变量:
var1 = xx
var2 = yy
var3 = zz
Run Code Online (Sandbox Code Playgroud)
不知道列表有多长,我该怎么做?我试过了:
max = len(ll)
count = 0
for ii in ll:
varcount = ii
count += 1
if count == max:
break
Run Code Online (Sandbox Code Playgroud)
我知道varcount不是创建动态变量的有效方法,但我要做的是根据计数创建var0,var1,var2,var3等.
谢谢!
编辑:
我应该开始一个新问题.谢谢你的帮助!
cma*_*tas 29
一般来说,不建议对大量列表元素/变量使用这种编程.
但是,以下声明可以正常工作并且符合预期
a,b,c = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
这被称为"解构".
在某些情况下它可以节省一些代码行,例如我有一个,b,c作为整数,并希望它们的字符串值为sa,sb,sc:
sa, sb,sc = [str(e) for e in [a,b,c]]
Run Code Online (Sandbox Code Playgroud)
或者,甚至更好
sa, sb,sc = map(str, (a,b,c) )
Run Code Online (Sandbox Code Playgroud)
ale*_*xis 22
这样做并不是一个好主意; 在定义变量后,您将如何处理变量?
但假设你有充分的理由,这里是如何在python中做到这一点:
for n, val in enumerate(ll):
globals()["var%d"%n] = val
print var2 # etc.
Run Code Online (Sandbox Code Playgroud)
这里,globals()本地名称空间是作为字典呈现的.编号从零开始,就像数组索引一样,但你可以告诉enumerate()从1开始.
但同样:这不太可能对你有用.