在打印语句中显示字典

时间:2019-06-01 14:59:25

标签: python python-3.x dictionary

有没有一种方法可以打印字典的内容而不必遍历字典?在javascript中,您可以console.log查看对象的内容。 python中有类似的东西吗?

我尝试了print语句以及object.keys()和object.values()。但是,我想通过print语句查看整个字典。

print(dictionary)

我希望使用{a: 1}而不是object at 0x7efd79610278>

1 个答案:

答案 0 :(得分:0)

我不认为变量dictionary是您认为的那样。 这是Python3 REPL(读取,评估,打印,循环)中的一个小示例,该示例显示了打印具有预期行为的字典。

$ python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = {}
>>> a[0] = '0'
>>> a
{0: '0'}
>>> print(a)
{0: '0'}

要回答您的问题,默认的__str__方法发音为(dunder str)就足够了。但是,如果不是这样,您可以执行以下操作并提供自己的实现。

>>> import json
>>> class MyDict(dict):
...     def __str__(self):
...             return json.dumps(self)
... 
>>> d = MyDict()
>>> d['key'] = 'value'
>>> print(d)
{"key": "value"}