从列表中提取值添加到字典

2024-04-18 17:15:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,比如pa_l = [[ABU, XXXXX, 0],[AZE, CCCCC,0]]。这个pa_l包含243个列表。iso_pa是仅包含国家代码的列表,例如:

ABU and AZE (plus others)

我需要创建一个字典all_countries = {},其中每个国家的代码都有自己的名称。为此,我创建了以下代码:

for i in iso_pa:
    if i not in all_countries.keys():
        all_countries[i] = pa_l[i][1]

但这是行不通的。如果有人能帮助我,我会很高兴的。你知道吗


Tags: and代码in列表plusiso国家all
3条回答

列表列表对于查找iso_pa列表中的代码来说并不是一个好的结构。因此,请先将较长的列表转换为字典,然后从中选择结果中需要的名称:

dict_pa_l = dict([lst[0:2] for lst in pa_l])
all_countries = [{code: dict_pa_l[code]} for code in iso_pa]

如前所述,您需要准备一个字典,其中国家代码映射到国家名称。在我们的代码中有一个小补丁:

for i in iso_pa:
    if i not in all_countries:
        all_countries[i[0]] = i[1]
for i in range (len (iso_pa)):
  if iso_pa [i] not in all_countries.keys():
    all_countries [iso_pa [i]] = pa_l [i][1]

相关问题 更多 >