4

次のようなPython 3.xネストされたリストがあります。

lst = [['kataba', 'V:', '3rd_sg_masc_perf_active'], ['kataba:', 'V:', '3rd_dual_masc_perf_active'], ['katabu:', 'V:', '3rd_pl_masc_perf_active'], ['katabat', 'V:', '3rd_sg_fm_perf_active'], ['katabata:', 'V:', '3rd_dual_fm_perf_active']]

私の質問がより明確になるように、1つのインスタンスをスライスします

>>> lst[0]
['kataba', 'V:', '3rd_sg_masc_perf_active']
>>> lst[0][0]
'kataba'
>>> lst[0][1:]
['V:', '3rd_sg_masc_perf_active']

上記のネストされたリストをディクショナリに変換する方法。たとえば、lst[0][0] がディクショナリ キーになり、lst[0][1:] がキーの値になります。

このネストされたリストには、何万もの要素が含まれています。

多くのオプションを試しましたが、それを行うロジックがないようです。

4

1 に答える 1

12

私があなたを正しく理解していれば、あなたは次のことを考えていると思います。

バージョン 2.7 以降では dict-comp を使用できます。

{ k[0]: k[1:] for k in lst }

2.7 より前 (2.6 以下) では、これはdictビルトインを使用して行われていました。

dict( (k[0], k[1:]) for k in lst)
# {'kataba': ['V:', '3rd_sg_masc_perf_active'], 'katabat': ['V:', '3rd_sg_fm_perf_active'], 'katabata:': ['V:', '3rd_dual_fm_perf_active'], 'katabu:': ['V:', '3rd_pl_masc_perf_active'], 'kataba:': ['V:', '3rd_dual_masc_perf_active']}
于 2013-05-03T12:35:35.837 に答える