给定以下数据结构,找出交集的最有效方法是什么 - 这两个数据结构都是通用的.
dict1 = {'2A':'....','3A':'....','4B':.....}
list1 = [......,'2A','4B'.....]
Expected output = ['2A','4B']
Run Code Online (Sandbox Code Playgroud)
我可以将列表(不是dict1)组织到任何其他数据结构中,如果它也产生更快的输出.由于这个查找有2个可以完成大量的决策 - 速度至关重要.
正如@Blckknght所建议的那样
>>> dict1.viewkeys() & list1
set(['4B', '2A'])
Run Code Online (Sandbox Code Playgroud)
这必须是最快速,最有效的方式.请注意,这dict.viewkeys()是dict.keys在Python 3中(不要将其与Python 2混淆,而是dict.keys()返回一个list)