gpt4 book ai didi

ruby - 如何在 ruby​​ 中找到第一个值的数组之间的并集

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:13 24 4
gpt4 key购买 nike

我有一组这样的数组:

[["1","2"],["1","3"],["2","3"],["2","5"]]

我想找到像这样的第一个值的并集

["1","2"],["1","3"] 匹配,所以我需要创建新数组,如 ["1","2,3 "]

所以结果数组会像

[["1","2,3"],["2","3,5"]]

最佳答案

与 Ruby 中的大多数问题一样,Enumerable 模块可以完成以下工作:

input = [["1","2"],["1","3"],["2","3"],["2","5"]]

result = input.group_by do |item|
# Group by first element
item[0]
end.collect do |key, items|
# Compose into new format
[
key,
items.collect do |item|
item[1]
end.join(',')
]
end

puts result.inspect
# => [["1", "2,3"], ["2", "3,5"]]

group_by 方法在像这样聚合时非常方便,而 collect 非常适合重写元素的显示方式。

关于ruby - 如何在 ruby​​ 中找到第一个值的数组之间的并集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28904889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com