为了账号安全,请及时绑定邮箱和手机立即绑定

打印不带引号的字典?

打印不带引号的字典?

拉风的咖菲猫 2023-08-22 16:08:19
假设我有一个非嵌套字典:>>> foo = {'a': 123, 'b': 'asdf', 'c': 'Hello, world!'}我可以打印它:>>> print(foo) {'a': 123, 'b': 'asdf', 'c': 'Hello, world!'}是否有任何内置或其他方便的方法可以在没有引号和括号的情况下将其打印在单行中?a: 123, b: asdf, c: Hello, world!这是假设没有嵌套字典的情况。
查看完整描述

4 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

或者,您可以创建自己的对象:


class NicelyPrintingDict():

    def __init__(self, some_dictionary):

        self.some_dictionary = some_dictionary


    def __str__(self):

        s = ''

        for key, value in self.some_dictionary.items():

            s += key + ': ' + str(value) + ' ' 

        return s.strip()

然后,按如下方式使用它:


foo = {'a': 123, 'b': 'asdf', 'c': 'Hello, world!'}

nice_foo = NicelyPrintingDict(foo)

print(nice_foo)


查看完整回答
反对 回复 2023-08-22
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您可以删除所有不需要的字符,然后根据需要打印它,如下所示:

foo = {'a': 123, 'b': 'asdf', 'c': 'Hello, world!'}

print (str(foo).replace("{","").replace("'","").replace("}",""))

输出:

a: 123, b: asdf, c: Hello, world!

注意,只要字符{}'是字典的一部分,该解决方案就会失败

更详细地 - 当调用str函数时 - 每个对象都可以实现__str__返回字符串的函数(您可以为自定义类自己实现它)。当利用它时 - 从函数返回的 str 可以被视为任何其他字符串并替换您想要的任何内容。


查看完整回答
反对 回复 2023-08-22
?
千万里不及你

TA贡献1784条经验 获得超9个赞

如果你知道你一直在使用哪些字段,你可以这样做:


foo = {

    'a': 123,

    'b': 'asdf',

    'c': 'Hello, World!'

}


print(f"a: {foo['a']} b: {foo['b']} c: {foo['c']}")

a:123 b:asdf c:你好,世界!


查看完整回答
反对 回复 2023-08-22
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

foo = {'a': 123, 'b': 'asdf', 'c': 'Hello, world!'}


for i,j in foo.items():

    print(i, ":", j, end = ",")


a : 123, b : asdf, c : Hello, world!,


查看完整回答
反对 回复 2023-08-22
  • 4 回答
  • 0 关注
  • 1610 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信