我以为我遇到的是一个常见问题,但我在 Google 和 SO 中都找不到任何帮助。

我有 2 个包含 Marker 类对象的列表。 Marker 由变量 namepositiontype 组成。我想将两个列表相交,创建相同类型的标记元组并将它们存储在一个新列表中。从字面上讲,我想做以下事情:

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 ]

10-07 16:41