Python -打印带有特殊字符的列表



我有一个关于打印列表的问题

我有一个小代码:

list=[]
var='Value'1'
list.append(var)
print(list)

print(list)的输出用引号表示:

["Value'1"]

我的问题是-我可以强制python打印它在撇号(')而不是引号(")?

不要使用像list这样的保留词。(I changelisttolst):

print("['{}']".format(*lst))
# ['Value'1']
>>> print("['{}']".format(', '.join(list)))
['Value'1']

或者如果你不想要任何引号

>>> print("[{}]".format(', '.join(list)))
[Value'1]

print(list)的行为依赖于列表。__str__和list。__str__方法。如果您想要更改列表的表示形式,则必须重写该方法。

仅供参考,覆盖内置类型(如liststr)的名称通常不是一个好主意,因为这会使初始化新列表变得更加困难(并且会使内容更难阅读)

下面的例子强制它在外部使用单引号:

class MyStr(str):
def __repr__(self):
output = self.replace("'", "\'")
return "'"+output+"'"
mylist = [MyStr("Value'1")]
print(mylist)

相关内容

  • 没有找到相关文章

最新更新