在 Nushell 中,如何比较两个列表并找到不共同的项目?

In Nushell, how can I compare two lists and find the items not in common?

提问人:NotTheDr01ds 提问时间:9/29/2023 更新时间:9/29/2023 访问量:40

问:

我有两个大小合理的(真实示例)Stack Overflow 答案 ID 列表,我正在检查是否有可疑的 ChatGPT 使用情况。一组是我几天前捕获的答案 ID 列表,另一组是当前一组。我想比较两者,并找到第二组中已删除(已删除答案)的答案。如何使用 Nushell 执行此操作?

我的身份证(不是真实示例):

let idsFromYesterday = [ 42 83 111 212 411 812 7000 31459 ]
let idsFromToday = [ 42 83 212 411 7000 111 ]
nushell的

评论


答:

1赞 NotTheDr01ds 9/29/2023 #1

将 a 与 和 运算符一起使用:filternotin

let idsFromYesterday = [ 42 83 111 212 411 812 7000 31459 ]
let idsFromToday = [ 42 83 212 411 7000 111 ]
$idsFromYesterday | filter {|id| not ($id in $idsFromToday) }

将返回缺少的 ID:

╭───┬───────╮
│ 0 │   812 │
│ 1 │ 31459 │
╰───┴───────╯