当前位置: 首页 > 面试题库 >

如何创建带有双引号作为默认引号格式的Python词典?

通寂离
2023-03-14
问题内容

我正在尝试创建一个python字典,该字典将用作html文件中的java脚本var,以实现可视化目的。作为必要条件,我需要创建所有名称都用双引号而不是Python使用的默认单引号的字典。有没有简单而优雅的方法来实现这一目标。

    couples = [
               ['jack', 'ilena'], 
               ['arun', 'maya'], 
               ['hari', 'aradhana'], 
               ['bill', 'samantha']]
    pairs = dict(couples)
    print pairs

产生的输出:

{'arun': 'maya', 'bill': 'samantha', 'jack': 'ilena', 'hari': 'aradhana'}

预期产量:

{"arun": "maya", "bill": "samantha", "jack": "ilena", "hari": "aradhana"}

我知道,json.dumps(pairs)这项工作完成了,但是整个字典都被转换成一个字符串,这不是我期望的。

PS: 由于我正在处理嵌套字典,因此还有使用json的另一种方法。


问题答案:

您可以使用json.dumps()以下特殊打印来构造自己的字典版本:

>>> import json
>>> class mydict(dict):
        def __str__(self):
            return json.dumps(self)

>>> couples = [['jack', 'ilena'], 
               ['arun', 'maya'], 
               ['hari', 'aradhana'], 
               ['bill', 'samantha']]

>>> pairs =  mydict(couples) 
>>> print pairs
{"arun": "maya", "bill": "samantha", "jack": "ilena", "hari": "aradhana"}

您还可以迭代:

>>> for el in pairs:
       print el

arun
bill
jack
hari


 类似资料:
  • 问题内容: 这是适合此描述的命令行示例: 我已经尝试过'(不转义),URL编码(在另一端没有urldecoded!)和”(引号消失!),但没有成功。 问题答案: 如果您将“替换为Unicode编码的”(\ u0027),则可以使用: 奇怪,但是值得知道!

  • 问题内容: Python中的单引号与双引号 问题答案: 我喜欢在用于插值或自然语言消息的字符串周围使用双引号,对于像符号一样小的字符串使用单引号,但是如果字符串包含引号或者我忘记了,则会违反规则。我对文档字符串使用三重双引号,对正则表达式使用原始字符串文字,即使不需要它们也是如此。 例如:

  • 对于PHP中的自定义脚本解析器,我想替换包含双引号和单引号的多行字符串中的一些单词。但是,只能替换引号之外的文本。 例如,我想把“苹果”换成“梨”,但只在引用句子之外。所以在这种情况下,只有“许多苹果从树上掉下来”里面的“苹果”才是目标。 以上将给出以下输出: 我怎样才能做到这一点?

  • 这里,整个“service.getdata”语句应该是一个匹配项,但它在(转义的)双引号处中断。如果我用双引号括起参数值,它就可以工作了(就像它在前面的示例块中所做的那样)。但不幸的是,当参数值没有用双引号包装时,我需要它也能工作。 有人能帮我做最后一块吗?

  • 问题内容: 我有此命令可以执行我想要的操作,但无法在我的.bashrc中使用别名(请注意,它同时使用单引号和双引号): 我试过了: 还有一些其他没有运气的常识组合。.我知道bash带有引号是非常挑剔的。.因此,为它加上别名的正确方法是什么?为什么?谢谢 问题答案: 您只需要正确地转义即可。

  • 问题内容: 如何使用PHP 用(我认为其称为单引号)替换(我认为它称为双引号)? 问题答案: 或重新分配