Python 如何删除dict的字符串表示中的值周围的引号?

Python 如何删除dict的字符串表示中的值周围的引号?,python,dictionary,repr,Python,Dictionary,Repr,我怎么能不打印字符串周围的引号?我知道这是一个字符串,因此Python添加了引号 要提供更多上下文: defa(内容): 返回{'row_contents':content} 打印(a(“你好”)) 这将产生如下输出: 我想在返回时删除Hello周围的引号(如下所示) 有没有一种简单的方法可以实现这一点?您只需获取字典的字符串表示形式并删除单引号即可 def a(content): return {'row_contents': content} def print_dict_wit

我怎么能不打印字符串周围的引号?我知道这是一个字符串,因此Python添加了引号

要提供更多上下文:

defa(内容):
返回{'row_contents':content}
打印(a(“你好”))
这将产生如下输出:

我想在返回时删除Hello周围的引号(如下所示)


有没有一种简单的方法可以实现这一点?

您只需获取字典的字符串表示形式并删除单引号即可

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}
{'row_contents': Hello}

您只需获取字典的字符串表示形式并删除单引号

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}
{'row_contents': Hello}

您可以使用
f字符串

def a(content):
    return f"{{'row_contents': {content}}}"


print(a("Hello"))
或者仅仅是这样:

def a(content):
    return "{'row_contents':"+content+"}"
输出:

{row_contents: Hello}
{'row_contents': Hello}

您可以使用
f字符串

def a(content):
    return f"{{'row_contents': {content}}}"


print(a("Hello"))
或者仅仅是这样:

def a(content):
    return "{'row_contents':"+content+"}"
输出:

{row_contents: Hello}
{'row_contents': Hello}

我仍然相信这个问题很有可能成为一个问题

但是,就目前的问题而言:如果您不想修改
打印
,您只需要修改函数
a
的返回值。你上面的评论是:

我想返回一个
dict

这听起来像是简单地返回
{'row\u contents':content}
的修改后的字符串表示形式,这并不是您真正想要的。然而,
dict.\uuuuu repr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

class CustomDict(dict):
定义报告(自我):
返回“{”+”,“.join([repr(k)+:“+str(v)for k,v in self.items())+”)
DEFA(内容):
返回CustomDict({'row\u contents':content})
打印(a(“你好”))
打印(i实例(a(“你好”),dict))
其中打印:

{'row\u contents':Hello}
真的

根据需要进行哪些修改以提供所需的输出,您可能需要改进
CustomDict.\uuuu repr\uuu
。您还可以修改原始的字符串表示形式
super()。\uuu repr\uuuu()

我仍然认为这个问题很有可能是一个问题

但是,就目前的问题而言:如果您不想修改
打印
,您只需要修改函数
a
的返回值。你上面的评论是:

我想返回一个
dict

这听起来像是简单地返回
{'row\u contents':content}
的修改后的字符串表示形式,这并不是您真正想要的。然而,
dict.\uuuuu repr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

class CustomDict(dict):
定义报告(自我):
返回“{”+”,“.join([repr(k)+:“+str(v)for k,v in self.items())+”)
DEFA(内容):
返回CustomDict({'row\u contents':content})
打印(a(“你好”))
打印(i实例(a(“你好”),dict))
其中打印:

{'row\u contents':Hello}
真的

根据需要进行哪些修改以提供所需的输出,您可能需要改进
CustomDict.\uuuu repr\uuu
。您还可以修改原始的字符串表示形式
super()。\uuu repr\uuu()

当然,这是可能的。但是你能再解释一下你想做什么吗?你确定这不是一个问题吗?已经有答案了:这是否回答了你的问题@马纳斯汉德瓦尔:没有。我不想使用print,因为它不会返回我期望的输出值,而该输出值可能会在其他应用程序中使用variable@finefoot我想返回一个
dict
当然,这是可能的。但是你能再解释一下你想做什么吗?你确定这不是一个问题吗?已经有答案了:这是否回答了你的问题@马纳斯汉德瓦尔:没有。我不想使用print,因为它不会返回我期望的输出值,而该输出值可能会在其他应用程序中使用variable@finefoot我想返回一个
dict
,但是,这也会删除键中的引号。但是,这也会删除键中的引号。