0

我想从 Buy1 与 Item346 Buy1 的交集创建一个新列表 (c2):[Item 12, Item 23, Item 7, Item 562, Item 346, Item 85]

我要返回的列表(vsm 表示) c2 : [0, 0, 0, 0, 1, 0]

4

1 回答 1

1

如果你真的想要 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 
于 2021-04-10T20:32:43.167 回答