Python 删除字符串周围的引号
上面的代码返回以下格式的字符串: 输出:Python 删除字符串周围的引号,python,Python,上面的代码返回以下格式的字符串: 输出:[10,5,15'*','*','*','*',20] 我如何更改它,使*(星号),无值,不被引号包围?我尝试了下列方法,但没有成功 array = format([ v if v is not None else "*" for v in self._tree.bfs_order_star() ]) 打印时,使用replace()方法删除引号: array = format([ v if v is not None else "*" f
[10,5,15'*','*','*','*',20]
我如何更改它,使*(星号),无值,不被引号包围?我尝试了下列方法,但没有成功
array = format([
v if v is not None else "*" for v in self._tree.bfs_order_star()
])
打印时,使用replace()
方法删除引号:
array = format([
v if v is not None else "*" for v in self._tree.bfs_order_star()
]).strip('"\'')
您可以创建一个类/对象,其表示形式实际上只是一个星形:
#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.]")
演示:
class Star:
def __repr__(self):
return '*'
您想要
[10,5,15,*,*,*,*,20]
?这不是一个有效的python表达式,“*”
表示它是一个字符串。如果您打印字符串,它将只是*
字符串将始终具有的值,而您可以使用None
列表只能包含值。值可以是字符串、数字、嵌套列表或dict。星星不是这些。引号不是值的一部分,而是字符串在Python中的表示方式。听起来你以后会将整个列表作为一个str使用吗?您想要类似于str([10,5,15'*','*','*','*',20])的内容。替换(“'”,”)
?
>>> print([1, '*', 2])
[1, '*', 2]
>>> print([1, Star(), 2])
[1, *, 2]