2

给定以下数据结构,找出两种数据结构共有的交集键的最有效方法是什么。

dict1 = {'2A':'....','3A':'....','4B':.....}  
list1 = [......,'2A','4B'.....]

Expected output = ['2A','4B']

如果这也能产生更快的输出,我可以将列表(不是 dict1)组织成任何其他数据结构。由于此查找已针对大量 dicts 完成 2 - 速度至关重要。

4

2 回答 2

8

正如@Blckknght 所建议的那样

>>> dict1.viewkeys() & list1
set(['4B', '2A'])

必须是最快和最有效的方式。请注意,这dict.viewkeys()dict.keys在 Python 3 中(不要将其与dict.keys()返回 a 的Python 2 混淆list

于 2013-05-16T01:16:42.080 回答
2

使用套装。

>>> set(dict1.keys()) & set(list1)
于 2013-05-16T01:15:59.670 回答