gpt4 book ai didi

python - 打印列表时如何去掉字符串引号?

转载 作者:行者123 更新时间:2023-12-04 01:04:56 25 4
gpt4 key购买 nike

我有以下方法来打印嵌套列表:

def stringify(self, item=None):
if isinstance(item, list):
return [self.stringify(subitem) for subitem in item]
if isinstance(item, Token):
return str(item)

它根据它的 __str__ 方法打印这样的项目:

["<PLUS: '+'>", "<NUMBER: '2.0'>", ["<TIMES: '*'>", "<NUMBER: '3.0'>", "<NUMBER: '4.0'>"]] ["<USER_DEFINED: 'factorial'>", "<NUMBER: '5.0'>"]

但是,我不希望它在项目本身周围显示 "。也就是说,我希望它像这样打印:

[<PLUS: '+'>, <NUMBER: '2.0'>, ...

我该怎么做?

最佳答案

最后,您将返回一个字符串列表,而不是将列表转换为字符串。 list.__str__ 总是在其元素上调用 repr,因此您会得到明确的引号。为避免这种情况,您可以使用 str.join 绕过 repr:

if isinstance(item, list):
return '[' + ', '.join(self.stringify(subitem) for subitem in item) + ']'

关于python - 打印列表时如何去掉字符串引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66838478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com