如何使用python从字符串变量中获取值?

时间:2015-04-08 07:56:00

标签: python python-2.7

my_string ='我想要你'     l = ['my_string']     对于l中的值:         打印值

我想获取my_string中存储的值。

3 个答案:

答案 0 :(得分:1)

" EVAL"似乎是一个更好的解决方案,但" exec"也是可行的。

>>> my_string = 'hello world'
>>> l = ['my_string']
>>> for each in l:
...     exec 'print ' + each
...     exec 'a = ' + each
...     print 'a = %s' % a
...
hello world
a = hello world

我也同意为此目的使用eval / exec是一个坏主意。使用字典可能是更好的方法。

答案 1 :(得分:1)

我不是100%肯定你的意图。但是如果你想从python中的字符串中获取整数值,那么就有一些解决方案。

>>> import re
>>> string1 = "498results should get"
>>> map(int, re.findall(r'\d+', string1))
[498]

Solution from jamylak

这将在正则表达式的帮助下对所有数字进行分组,然后对它们进行映射,从而将它们插入到数组中。

然后你可以迭代这个数组

>>> arr = map(int, re.findall(r'\d+', string1)) 
>>> for num in arr:
>>>     print num
498

编辑:是的,好像我误解了你的问题

答案 2 :(得分:0)

您可以使用eval。否则,使用dictionary是一种很好的方法

my_string = 'I am want you'
l = ['my_string']

for value in l:
    print eval(value)

#output
I am want you