Python2.x中的交叉引用2个列表
我不熟悉Python(使用2.6和2.7),但我已经搜索了docs.Python.org和这个网站。我发现了一个类似的问题: …但我想交叉引用两个不同大小和未知订单的列表。 下面是我想做的一个例子:Python2.x中的交叉引用2个列表,python,list,Python,List,我不熟悉Python(使用2.6和2.7),但我已经搜索了docs.Python.org和这个网站。我发现了一个类似的问题: …但我想交叉引用两个不同大小和未知订单的列表。 下面是我想做的一个例子: >>> mammals = ["gorilla","cat","rat","chimpanzee","dog","beaver"] >>> apes = ["orangutan","chimpanzee","human","gorilla"] # magic
>>> mammals = ["gorilla","cat","rat","chimpanzee","dog","beaver"]
>>> apes = ["orangutan","chimpanzee","human","gorilla"]
# magic happens here
>>> print result # order doesn't matter
['chimpanzee', 'gorilla']
给出常见条目的结果。了解Python可能会有一个简单/优雅的解决方案来解决这样一个简单的问题。使用集合:
mammals = ["gorilla","cat","rat","chimpanzee","dog","beaver"]
apes = ["orangutan","chimpanzee","human","gorilla"]
print set(mammals).intersection(apes)
印刷品
set(['gorilla', 'chimpanzee'])
如果你需要一个列表,如果你可以把它作为一个集合,那么
set(mammals) & set(apes)
这非常适合
设置
内置类型
将基本列表设置为一组:
mammals = set(["gorilla","cat","rat","chimpanzee","dog","beaver"])
然后使用交集函数(比较列表不必是集合)
感谢您提供快速(优雅)的解决方案。正是我所需要的。谢谢你提供的快速(优雅)解决方案。这更好。谢谢。。。在看到这些答案后,我想我应该从docs.Python.org中找到答案
mammals = set(["gorilla","cat","rat","chimpanzee","dog","beaver"])
>>> mammals.intersection(["orangutan","chimpanzee","human","gorilla"])
set(['gorilla', 'chimpanzee'])