Python将两个元素元组的列表映射到key:value dict中
我有一个rest API端点,它以JSON格式返回可用国家的列表,如:Python将两个元素元组的列表映射到key:value dict中,python,Python,我有一个rest API端点,它以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"
[["ALL","Albania Lek"],["AFN","Afghanistan Afghani"],["ARS","Argentina Peso"],["AWG","Aruba Guilder"],["AUD","Australia Dollar"]]
我需要把它转换成
{
"ALL":"Albania Lek",
"AFN":"Afghanistan Afghani",
"ARS":"Argentina Peso"
}
如何快速有效地执行此操作?构造函数直接从键值对序列构建字典,如中所述。就这么简单:
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'
}
dict()
构造函数直接从键值对序列构建字典,如中所述。就这么简单:
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}
另一个1行选择是dict理解
{x[0]:x[1] for x in the_list}
我想
{k:v for k,v in the_list}
比dict(_列表)更好,因为它不调用函数。因此,对性能的理解是成功的
参见测试:
以及:
我想
{k:v for k,v in the_list}
比dict(_列表)更好,因为它不调用函数。因此,对性能的理解是成功的
参见测试:
以及:
可能的重复:和可能的重复:我已经添加了两个快速有效地记录{}over dict()的引用我已经添加了两个快速有效地记录{}over dict()的引用我只是运行了一些计时(使用3.6.6),这似乎并不准确。对于一个1000万项目列表(
list(zip(范围(10000000),范围(10000000)))
),理解的时间是1.23秒/循环
,dict
调用的时间是1.06秒/循环
,我只是运行了一些计时(使用3.6.6),这似乎并不准确。对于1000万个项目列表(list(zip(范围(10000000),范围(10000000)))
,理解时间为1.23秒/循环
,dict
调用时间为1.06秒/循环