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']]

我将切一个实例,以便我的问题更清楚

>>> 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

如果我理解正确,我认为您在以下内容之后。

您可以将 dict-comp 用于 2.7+ 版本:

{ 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 回答