我正在处理python项目,需要解析以下字符串
{u'max(if(exists(comptPrice),add(0.010,min(0.020,mul(0.200,div(comptPrice,100.0)))),0),0)': 0.026}
现在有很多像这样的行,我想迭代它们中的每一行并且只存储数组中“:”之后的数字部分。在这种情况下为0.026。如何才能做到这一点 。我是python的新手,请原谅我这是一个愚蠢的问题。
答案 0 :(得分:0)
假设该数字始终位于每个字符串中的最后:
之后,且该数字始终后跟}
def my_parser(s):
parsed_s = s.split(': ')[-1][:-1]
return s
如果你想把结果作为浮点数:
def my_parser(s):
parsed_s = float(s.split(':')[-1][:-1])
然后使用列表理解:
my_list_of_strings = [] #Assume already populated
my_floats = [my_parser(x) for x in my_list_of_strings]