python获取表达式列表

时间:2015-04-09 18:36:10

标签: python list

我在配置(ini)文件中有这个:

result = "name\tage\tdob"

这就是我想要的最终输出(作为列表) - 将其写入输出文件,其中实际值将被写为一行:

[str(row["name"]).strip(), str(row["age"]).strip(), str(row["dob"]).strip()]

我的python从配置文件中读取'result'作为字符串,我做了一些manupulation来得到接近我需要的东西。那之后我被困住了。这就是我所做的:

list1 = result.decode('string_escape').split()
list2 = map(lambda x: x.replace('\"', ''), list1)
list3 = map(lambda x: 'str(row[' + '"'  + x + '"' + ']).strip()', list2);
print list3

它将list3打印为:

['str(row["name"]).strip()', 'str(row["age"]).strip()', 'str(row["dob"]).strip()']

现在,如果你注意到,list3的元素是字符串......我不想要。我如何确保列表中的元素只是python表达式......?我试图做替换(“'”,“”),但它没有帮助。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:2)

请改为:

list3 = map(lambda x: str(row[x]).strip(), list2);

请注意,当然,您不会在输出中看到str(row["name"]).strip(),而是看到评估的值。