我认为我所拥有的是一个常见问题,但我无法在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
子句。
请帮助我将这两个列表相交并获得类似标记的元组列表!
答案 0 :(得分:8)
将and
更改为for
:
g_markerList = [ (marker1,marker2) for marker1 in marker1List
for marker2 in marker2List
if marker1.type == marker2.type ]