如何对2个相同数组数据的输出进行排序

英夫龙

我有 :

  • 1个阵列输入(A)
  • 1个数组(B)用于比较(将A与B进行比较)
  • 1个阵列输出
I want the data to be like this :
    data array A    data array B      output array
    Alpha           Alpha             Alpha*
    Delta           Beta              Beta
    Fanta           Charlie           Charlie    
                    Delta             Delta*
                    Echo              Echo
                    Fanta             Fanta*

我想要的是,只要数组A和B中有相同的数据,用*标记的“数据”。如果我的英语听不懂我很抱歉。

提前致谢

安德烈·凯斯利(Andrej Kesely)

希望我对您的问题理解正确:您想合并两个数组,并且每个元素应该只出现一次(假设排序列表ab):

from heapq import merge
from itertools import groupby

a = ['Alpha', 'Delta', 'Fanta']
b = ['Alpha', 'Beta', 'Charlie', 'Delta', 'Echo']

c = [v for v, _ in groupby(merge(a, b))]

print(c)

印刷品:

['Alpha', 'Beta', 'Charlie', 'Delta', 'Echo', 'Fanta']

编辑:用标记重复的元素*,您可以执行以下操作:

from heapq import merge
from itertools import groupby

# assuming sorted `a` and `b`:
a = ['Alpha', 'Delta', 'Fanta']
b = ['Alpha', 'Beta', 'Charlie', 'Delta', 'Echo', 'Fanta']

c = ['{}*'.format(v) if len(list(g)) > 1 else v for v, g in groupby(merge(a, b))]

print(c)

印刷品:

['Alpha*', 'Beta', 'Charlie', 'Delta*', 'Echo', 'Fanta*']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章