Вы можете сделать это следующим образом:
>>> d = {"5": 5}
>>> for key,value in d.items():
print('{{"{0}": {1}}}'.format(key,value))
{"5": 5}
Просто используйте double {
, если хотите вывести {
с format
методом.
Вот решение с использованием метода __str__
:
from __future__ import print_function
from itertools import chain,izip,repeat
class singleQuoteDict(dict):
def __str__(self):
return ''.join(chain(('{'),
(j for i in izip(
chain([''],repeat(', ')),
('"{0}": {1!r}'.format(key,value) for key,value in self.items()))
for j in i),
('}')))
d = singleQuoteDict({"5": 5, "10": 10})
print(d)
Вывод:
{"10": 10, "5": 5}