gpt4 book ai didi

list - 如何删除数组中的重复项但保持相同的顺序?

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:45 26 4
gpt4 key购买 nike

我在 MATLAB 中有这个元胞数组:

y = { 'd' 'f' 'a' 'g' 'g' 'a' 'w' 'h'}

我使用 unique(y) 来去除重复项,但它会按字母顺序重新排列字符串:

>> unique(y)

ans =

'a' 'd' 'f' 'g' 'h' 'w'

我想删除重复项但保持相同的顺序。我知道我可以编写一个函数来执行此操作,但想知道是否有更简单的方法使用 unique 删除重复项,同时仅在删除重复项的情况下保持相同的顺序。

我希望它返回这个:

>> unique(y)

ans =

'd' 'f' 'a' 'g' 'w' 'h'

最佳答案

这是一个使用一些额外的输入和输出参数的解决方案 UNIQUE有:

>> y = { 'd' 'f' 'a' 'g' 'g' 'a' 'w' 'h'};  %# Sample data
>> [~,index] = unique(y,'first'); %# Capture the index, ignore the actual values
>> y(sort(index)) %# Index y with the sorted index

ans =

'd' 'f' 'a' 'g' 'w' 'h'

关于list - 如何删除数组中的重复项但保持相同的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065387/

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