Skip to main content
 首页 » 编程设计

Python str()之指定要添加/使用哪种引号

2025年05月04日16tuyile006

有没有办法影响 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 表达式。