我有一个关于打印列表的问题
我有一个小代码:
list=[]
var='Value'1'
list.append(var)
print(list)
print(list)的输出用引号表示:
["Value'1"]
我的问题是-我可以强制python打印它在撇号(')而不是引号(")?
不要使用像list
这样的保留词。(I changelist
tolst
):
print("['{}']".format(*lst))
# ['Value'1']
>>> print("['{}']".format(', '.join(list)))
['Value'1']
或者如果你不想要任何引号
>>> print("[{}]".format(', '.join(list)))
[Value'1]
print(list)
的行为依赖于列表。__str__和list。__str__方法。如果您想要更改列表的表示形式,则必须重写该方法。
仅供参考,覆盖内置类型(如list
或str
)的名称通常不是一个好主意,因为这会使初始化新列表变得更加困难(并且会使内容更难阅读)
下面的例子强制它在外部使用单引号:
class MyStr(str):
def __repr__(self):
output = self.replace("'", "\'")
return "'"+output+"'"
mylist = [MyStr("Value'1")]
print(mylist)