Python将两个元素元组的列表映射到key:value di

2024-09-29 01:36:14 发布

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

我有一个RESTAPI端点,它以JSON格式返回可用国家的列表,如:

[["ALL","Albania Lek"],["AFN","Afghanistan Afghani"],["ARS","Argentina Peso"],["AWG","Aruba Guilder"],["AUD","Australia Dollar"]]

我需要把它转换成

{
"ALL":"Albania Lek",
"AFN":"Afghanistan Afghani",
"ARS":"Argentina Peso"
}

如何快速有效地完成此任务


Tags: restapijson列表格式国家all端点ars
3条回答

我想

{k:v for k,v in the_list}

比dict(the\ u list)好,因为它不调用函数。因此,性能明智的理解获胜

参见测试:https://doughellmann.com/blog/2012/11/12/the-performance-impact-of-using-dict-instead-of-in-cpython-2-7-2/

以及: https://medium.com/@jodylecompte/dict-vs-in-python-whats-the-big-deal-anyway-73e251df8398

dict()构造函数直接从键值对序列构建字典,如documentation中所述。就这么简单:

the_list = [['ALL', 'Albania Lek'],
            ['AFN', 'Afghanistan Afghani'], 
            ['ARS', 'Argentina Peso'], 
            ['AWG', 'Aruba Guilder'],
            ['AUD', 'Australia Dollar']]

dict(the_list)

=> {
     'AWG': 'Aruba Guilder',
     'ALL': 'Albania Lek', 
     'ARS': 'Argentina Peso',
     'AFN': 'Afghanistan Afghani',
     'AUD': 'Australia Dollar'
   }

另一个1行选择是dict理解

{x[0]:x[1] for x in the_list}

相关问题 更多 >