删除字符串周围的引号

时间:2020-01-10 04:48:07

标签: python

array = format([
    v if v is not None else "*" for v in self._tree.bfs_order_star()
])

上面的代码返回以下格式的字符串:

输出: [ 10, 5, 15, '*', '*','*', 20 ]

如何更改它,以使*(星号)(无值)不被引号引起来?我尝试了以下方法,但没有成功。

array = format([
    v if v is not None else "*" for v in self._tree.bfs_order_star()
]).strip('"\'')

2 个答案:

答案 0 :(得分:1)

在打印时使用replace()方法删除引号:

#Convert list to string and replace/remove specific characters.
str(lst).replace("[character to replace/remove]", "[character to replace with or leave empty to remove.]")

答案 1 :(得分:0)

您可以创建一个类/对象,其表示形式实际上只是一个星星:

class Star:
    def __repr__(self):
        return '*'

演示:

>>> print([1, '*', 2])
[1, '*', 2]
>>> print([1, Star(), 2])
[1, *, 2]