Python字典键/值分隔符

时间:2013-10-14 13:55:32

标签: python

是否有可能获得一个python字典,其中的键被包裹在“”而不是''中?

这样的事情:

{"key_1":"value_1", .... , "key_n":"value_n"}

而不是:

{'key_1':'value_1', .... , 'key_n':'value_n'}

5 个答案:

答案 0 :(得分:3)

嗯,看起来你想要JSON格式......所以也许吧:

>>> d = {"key_1":"value_1", "key_n":"value_n"}
>>> d
{'key_n': 'value_n', 'key_1': 'value_1'}
>>> import json
>>> json.dumps(d)
'{"key_n": "value_n", "key_1": "value_1"}'

答案 1 :(得分:1)

是。行情完全可以互换;您可以使用其中任何一个定义字典。您还可以使用三引号'''"""

答案 2 :(得分:1)

在字典的字符串表示形式中强制使用双引号的最简单方法是将字典转换为json。但是,这会丢失一些类型信息,因为(例如)数字键也将用双引号括起来:

>>> d = {'key_1':'value_1', 'key_n':'value_n'}
>>> import json
>>> json.dumps(d)
'{"key_1": "value_1", "key_n": "value_n"}'
>>> json.dumps({1:'a', 2:'b'})
'{"1": "a", "2": "b"}'

如果您想要双引号的原因是使用JSON的结果字符串,那么这就是您想要的答案。另一方面,如果要求实际上只是为了强制显示双引号,而是将其保留为字典,那么您可以做的最好的事情就是编写自己的转换代码。

答案 3 :(得分:0)

是,除非你在字符串中有引号。单引号和双引号是相同的但是

如果由于某种原因,我的一把钥匙是我不知道:“不是”我会使用双引号。如果我的密钥有可能有双引号,我会使用单引号。

编辑:我并不是说在密钥标识符中包含引号是对还是错我只是说如果这是你所面临的现实就需要考虑。

答案 4 :(得分:0)

如果您想打印字典,可以使用此代码段

print "{%s}" % ", ".join('"%s":"%s"' % pair for pair in D.items())