我是靠谱客的博主 完美狗,最近开发中收集的这篇文章主要介绍python 字典查询比列表快_Python:哪个更快:匹配列表还是匹配字典?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

就速度而言,你可能想利用字典。似乎不管怎样,您都需要遍历一个列表。字典当然比迭代列表快,所以你至少可以把一个列表变成dict(我测试了下面的解决方案,在两个单独的列表中有200000个条目,我的平均速度是0.109999秒。如果你只是尝试使用列表或元组,你可能不会接近这个目标,除非你的条目顺序允许你使用类似zip的东西。您的序列号似乎是唯一的,因此下面的方法是可行的(通过迭代一个列表,然后将第1、3和4项[位置0、2和3]与字典中的值进行比较):list_1 = [[1, "BMW", "Boston", "01Jan2013"], [37, "Chevrolet", "Denver", "05Jan2013"],

[854, "BMW", "Boston", "01Jan2013"]]

list_2 = [[1, "Mercedes", "Boston", "01Jan2013"], [37, "Chevrolet", "Denver", "05Jan2013"],

[854, "Toyota", "Boston", "01Jan2013"]]

dict_2 = dict()

for elem in list_2:

dict_2[elem[0]] = elem[1:]

for item in list_1:

if dict_2[item[0]][1:] == item[2:]: # Have to offset the index since dict list only has three elements

print item

[1, 'BMW', 'Boston', '01Jan2013']

[37, 'Chevrolet', 'Denver', '05Jan2013']

[854, 'BMW', 'Boston', '01Jan2013']

一旦您将第二个列表转换为字典,您只需遍历一个列表就可以得到结果。此解决方案将从列表1返回每个匹配项的整个子列表,这似乎是您想要的。如果要从两个列表中获取完全匹配的子列表,则可以使用以下方法:

^{pr2}$

最后

以上就是完美狗为你收集整理的python 字典查询比列表快_Python:哪个更快:匹配列表还是匹配字典?的全部内容,希望文章能够帮你解决python 字典查询比列表快_Python:哪个更快:匹配列表还是匹配字典?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部