如何不在字符串周围打印引号?我知道这是一个字符串,因此Python正在添加引号。
提供更多背景信息:
def a(content):
return {'row_contents': content}
print(a("Hello"))
这给出的输出为:
{'row_contents': 'Hello'}
我想在返回此字符时删除 Hello 周围的引号(如下所示)
{'row_contents': Hello}
有没有简单的方法来实现这一目标?
答案 0 :(得分:1)
您只需获取字典的字符串表示形式并删除单引号即可。
def a(content):
return {'row_contents': content}
def print_dict_without_quotes(d):
print(str(d).replace("'", "").replace('"', ''))
print_dict_without_quotes(a("Hello"))
输出:
{row_contents: Hello}
答案 1 :(得分:1)
您可以使用f string
def a(content):
return f"{{'row_contents': {content}}}"
print(a("Hello"))
或仅此:
def a(content):
return "{'row_contents':"+content+"}"
输出:
{'row_contents': Hello}
答案 2 :(得分:0)
我仍然相信这个问题很有可能是XY problem。
但是,就目前的问题而言:如果您不想修改view.tag = 1
,则只剩下修改函数print
的返回值。您在上面的评论中说:
我想返回一个
a
这听起来像只是返回修改后的字符串表示形式dict
并不是您真正想要的。但是,{'row_contents': content}
本身是只读的,所以我猜最接近的解决方案是返回自定义dict.__repr__
子类的实例:
dict
哪些印刷品:
class CustomDict(dict):
def __repr__(self):
return "{" + ", ".join([repr(k) + ": " + str(v) for k, v in self.items()]) + "}"
def a(content):
return CustomDict({'row_contents': content})
print(a("Hello"))
print(isinstance(a("Hello"), dict))
您可能需要改进{'row_contents': Hello}
True
,具体取决于需要进行哪些修改才能提供所需的输出。您还可以修改原始字符串表示形式CustomDict.__repr__
。