2015-04-12 63 views
1

对于此代码:将字符串转换成数值

>>>string = <insert some string here> 
>>>for i in list(string): 
    j += 1 
    eval('v'+str(j)) = i 

此预期输出:

>>>v1 
'a'  #first string's character 
>>>v2 
'b'  #second string's character 

我希望至少有一些人可能明白这一点,并帮助我。

+0

为什么不直接将字符串转换为列表? –

+0

我不确定你想要什么。似乎没有第二个字符串? – thefragileomen

+0

我想将字符串转换为值,而不是列表值。 – XaMi

回答

0

这是不好的做法在全球范围内为你做创建变量,试试这个地方string是你的字符串:

char_variables = {'v{}'.format(a): b for a, b in enumerate(string, 1)} 

如果你真的必须这样做,你可以更新包含全球价值观字典如下所示:

globals().update({'v{}'.format(a): b for a, b in enumerate(string, 1)}) 
+0

感谢它的工作,我ily不能很佩服你,你如何在2分钟内想出它...... D: – XaMi