我想从 Buy1 与 Item346 Buy1 的交集创建一个新列表 (c2):[Item 12, Item 23, Item 7, Item 562, Item 346, Item 85]
我要返回的列表(vsm 表示) c2 : [0, 0, 0, 0, 1, 0]
如果你真的想要 0 表示值不相等,而 1 表示它们相等,你可以使用 CASE 的列表提取来处理输出:
WITH ['Item 12', "Item 23", "Item 7", "Item 562", "Item 346", "Item 85"] as buy1, "Item 346" as item
RETURN [i in buy1 | CASE WHEN i = item THEN 1 ELSE 0 END] as output
编辑:如果您的输入是项目列表,而不仅仅是单个项目,那么我们可以使用列表成员检查(使用IN
)来决定何时输出 1 或 0:
WITH ['Item 12', "Item 23", "Item 7", "Item 562", "Item 346", "Item 85"] as buy1, ["Item 346", "Item 7"] as items
RETURN [i in buy1 | CASE WHEN i IN items THEN 1 ELSE 0 END] as output