Ruby如何高效收集并筛选出独特的元素?
- 内容介绍
- 文章标签
- 相关推荐
本文共计237个文字,预计阅读时间需要1分钟。
pythondata=[ {name: x, long: 1.0, lat: 2.0}, {name: y, long: 2.0, lat: 3.0}, {name: z, long: 1.0, lat: 2.0}]
删除指定元素target={name: x, long: 1.0, lat: 2.0}data.remove(target)
找到最后一个元素last_element=data[-1]
筛选出所有coords等于最后一个元素的坐标filtered_coords=[item for item in data if item['long']==last_element['long'] and item['lat']==last_element['lat']]
print(filtered_coords)
我有一些哈希a = [{name:"x", long:1.0, lat:2.0}, {name:"y", long:2.0, lat:3.0}, {name:"z", long:1.0, lat:2.0}]
如何删除{name:“x”,long:1.0,lat:2.0},哪些coords等于最后一个元素,其他单词我需要留下最后一个(在我的情况下:名字:“z”)hash with unique coords并使用相同的坐标删除所有以前的元素
尝试将Array#uniq与块一起使用:a.uniq { |item| [item[:lat], item[:long]] }
块的返回值用作比较唯一性的值.
目前尚不清楚为什么要删除“x”而不是“z”,但是你可以通过在调用uniq之前反转数组来实现示例数据集.
本文共计237个文字,预计阅读时间需要1分钟。
pythondata=[ {name: x, long: 1.0, lat: 2.0}, {name: y, long: 2.0, lat: 3.0}, {name: z, long: 1.0, lat: 2.0}]
删除指定元素target={name: x, long: 1.0, lat: 2.0}data.remove(target)
找到最后一个元素last_element=data[-1]
筛选出所有coords等于最后一个元素的坐标filtered_coords=[item for item in data if item['long']==last_element['long'] and item['lat']==last_element['lat']]
print(filtered_coords)
我有一些哈希a = [{name:"x", long:1.0, lat:2.0}, {name:"y", long:2.0, lat:3.0}, {name:"z", long:1.0, lat:2.0}]
如何删除{name:“x”,long:1.0,lat:2.0},哪些coords等于最后一个元素,其他单词我需要留下最后一个(在我的情况下:名字:“z”)hash with unique coords并使用相同的坐标删除所有以前的元素
尝试将Array#uniq与块一起使用:a.uniq { |item| [item[:lat], item[:long]] }
块的返回值用作比较唯一性的值.
目前尚不清楚为什么要删除“x”而不是“z”,但是你可以通过在调用uniq之前反转数组来实现示例数据集.

