0

リストを辞書に変換する簡単な方法を探しています。簡単なリストがあります:

leet =['a','4','b','l3','c','(','d','[)','e','3','g','6','l','1','o','0','s','5','t','7','w','\/\/']

簡単に辞書に変換したい。defaultdict を使用してみましたが、それが何をしているのかよくわかりません(このコードは以前の回答で見つかりました):

>>> from collections import defaultdict
>>> dic = defaultdict(list)
>>> for item in leet:
    key ="/".join(item[:-1])
    dic[key].append(item[-1])


>>> dic
defaultdict(<class 'list'>, {'\\:/:\\': [], '': ['a', '4', 'b', 'c', '(', 'd', 'e',    '3', 'g', '6', 'l', '1', 'o', '0', 's', '5', 't', '7', 'w'], 'l': ['3'], '[': [')'], '\\///\\': ['/']})

最終的に、txt ファイルからデータを (行ごとに) リストに読み込み、残りの単純なプログラムの辞書に変換したいと考えています。これを達成するための簡単な方法を探しています。

ありがとう

4

2 に答える 2

2

で正しい道を進んでいるかどうかわからない場合は、defaultdictペアにグループ化して dict に変換しdict.get、一致するキーがない場合に対応するために使用します。

leet =['a','4','b','l3','c','(','d','[)','e','3','g','6','l','1','o','0','s','5','t','7','w','\/\/']

lookup = dict(zip(*[iter(leet)] * 2))
text = 'how are you?'
blah = ''.join(lookup.get(ch, ch) for ch in text)
# h0\/\/ 4r3 y0u?
于 2013-08-21T09:53:14.740 に答える
-1
components_dict = dict(((lambda y: y['id'])(y), y) for y in components)

コンポーネント オブジェクトは次のとおりです。

{"id":1234, "name":"xxx"}
于 2017-08-19T18:41:26.813 に答える