干净的“前缀”在一组数组中?
我想知道,我有一组包含我自己的数据类型的数组。 看起来像这样:
traces = {[<label1>, <label2>], [<label1>], [<label1>,<label2>,<label3>]}
现在,我想要一个方法来清理集合中所有“前缀”现有的数组, 所以我的新集将在这个例子中:
traces = {[<label1>,<label2>,<label3>]}
有人知道如何从中进行干净的实现吗? 我希望有一个比单步执行跟踪和 Set new_traces 并多次比较每个数组项更简洁的解决方案。
笔记: 我定义数组 A 是数组 B 的前缀当且仅当数组 B 的第一项实际上是数组 A
I was wondering, I've got a Set of Arrays containing something of my own datatype.
something looking like:
traces = {[<label1>, <label2>], [<label1>], [<label1>,<label2>,<label3>]}
Now, I would like to have a method that cleans all 'prefix'-existing arrays in the Set,
so my new set will be in this example:
traces = {[<label1>,<label2>,<label3>]}
Anybody an idea how to make a clean implementation out of this?
I hope there is a neater solution than stepping through traces and a Set new_traces and comparing every array-item several times.
Note:
I define Array A is a prefix of Array B iff the first items of Array B are actually the Array A
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不是最快的解决方案,但相当简单:
Not quite the fastest solution, but rather simple:
调用 flatten 然后调用 uniq
call flatten and then uniq