假设有一个集合set, 需要对set中的每个元素指定一个唯一的id,从而组建成一个dict结构。
这个场景可以演化成,两个list/set或者一个set与一个list如何创建成为一个字典,如:
A = ["a", "b", "c", "d"]
B = [1, 2, 3, 4]
? ==>
C = {"a":1, "b":2, "c":3, "d":4}
一个比较快捷的方法是用到内建方法zip()来实现。示例如下:
>>> A = ["a", "b", "c", "d"]
>>> B = [1, 2, 3, 4]
>>>
>>> C = dict(zip(A, B))
>>> C
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
>>> E = range(0, len(A))
>>> F = dict(zip(A, E))
>>> F
{'a': 0, 'c': 2, 'b': 1, 'd': 3}zip,dict都为build-in方法,其效率都很高。对于长度百万级别的list,耗时也不过十来秒(不过当然和机器自身性能有关了:-) )
本文介绍了一种利用Python内置函数zip快速将两个列表转换为字典的方法。此方法适用于需要为列表中的元素分配唯一ID的场景,通过示例展示了如何高效地完成这一任务。
889

被折叠的 条评论
为什么被折叠?



