1. ホーム
  2. python

[解決済み] 二重引用符をデフォルトの引用符形式とするPython辞書を作成する方法は?

2023-02-02 01:44:07

質問

私は、視覚化の目的でhtmlファイル内のJavaスクリプトの変数として使用されるPythonの辞書を作成しようとしています。必要条件として、私は 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) は仕事をしますが、辞書全体が文字列に変換され、私が期待しているものではありません。

P.S: 私はネストされた辞書を扱っているので、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