有没有办法影响 python 在将元组/列表转换为字符串时使用的引号类型?
对于某些 NLP 软件,我得到的元组有点像这样:
("It", ("isn't", "true"))
我想把它转换成一个字符串,然后简单地删除所有双引号和逗号:
(It (Isn't true))
但是,python 对引号有自己的方式,它似乎更喜欢单引号:
>>> print str(("It", ("Isn't" ,"true")))
('It', ("Isn't", 'true'))
,让我的生活更加艰难。当然,我可以编写自己的函数来逐部分打印出来,但是表示和 native python 元组之间有很多相似之处。
请您参考如下方法:
您不能依赖 repr 使用的确切表示。我会按照您的想法去做并编写您自己的函数——我认为它只不过是几行代码。这应该让你继续。
def s_exp(x):
if isinstance(x, (tuple, list)):
return '(%s)' % (' '.join(map(s_exp, x)))
return str(x)
编写您自己的函数可能是不可避免的:如果您的字符串包含方括号“(”、“)”或空格“”,那么您将需要某种形式的转义以生成格式正确的 s 表达式。
