我以为我遇到的是一个常见问题,但我在 Google 和 SO 中都找不到任何帮助。
我有 2 个包含 Marker
类对象的列表。 Marker
由变量 name
、 position
和 type
组成。我想将两个列表相交,创建相同类型的标记元组并将它们存储在一个新列表中。从字面上讲,我想做以下事情:
g_markerList = [ (marker1,marker2) for marker1 in marker1List and marker2 in marker2List if marker1.type == marker2.type ]
显然,这段代码不起作用。编译器不会在
marker2
之后“知道”变量 and
,这会结束 for
子句。请帮助我将这两个列表相交并获得相似标记的元组列表!
最佳答案
将 and
更改为 for
:
g_markerList = [ (marker1,marker2) for marker1 in marker1List
for marker2 in marker2List
if marker1.type == marker2.type ]