簡體   English   中英

在python中合並兩個龐大的元組列表的最快方法

[英]fastest way to combine two huge list of tuples in python

我有兩個這樣的清單:

L1 = [(1, 'a'), (2, 'm'), (3, 'd') ....] 
L2 = [('b', 1), ('f', 2), ('x', 1), ('w', 3), ('j', 2) ... ]

我想生產:

L3 = [('a','b'),('m','f'),('a','x'),('d','w'),('m','j'), ...]

我的意思是,列表L1元組中的第二個元素與列表L2元組中的第一個元素匹配。

L1和L2超過1200萬個元組。

我有一個使用嵌套循環在每個元組的“鍵”之間進行比較的代碼,但是效率很低。

有什么更好的替代方法可以更快地做到這一點?

先感謝您。

字典具有O(1)選擇/插入復雜度。 使用它們:

L1_dict = dict(L1)
L3 = [(L1_dict[k], v) for v, k in L2 if k in L1_dict]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM