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

Python 如何对2个相同数组数据的输出进行排序,python,arrays,Python,Arrays,我有: 1阵列输入(A) 1个用于比较的数组(B)(比较A和B) 1阵列输出 我想要的是,每当数组a和B中有相同的数据时,用*标记的“数据”。 如果我的英语不容易理解,我很抱歉 提前感谢我希望我正确理解了你的问题:你想合并两个数组,每个元素只应该出现一次(假设排序列表a和b): 印刷品: ['Alpha', 'Beta', 'Charlie', 'Delta', 'Echo', 'Fanta'] ['Alpha*', 'Beta', 'Charlie', 'Delta*', 'Echo',

我有:

  • 1阵列输入(A)
  • 1个用于比较的数组(B)(比较A和B)
  • 1阵列输出
我想要的是,每当数组a和B中有相同的数据时,用*标记的“数据”。 如果我的英语不容易理解,我很抱歉


提前感谢

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

印刷品:

['Alpha', 'Beta', 'Charlie', 'Delta', 'Echo', 'Fanta']
['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']
['Alpha*', 'Beta', 'Charlie', 'Delta*', 'Echo', 'Fanta*']

您想在这里做什么您想合并两个数组,使同一个元素出现一次吗?列表(集合(arr1+arr2))请包括您已经尝试过的内容,以便让我们开始。因此,不是一个可以从头开始提供代码的代码编写服务。我不清楚的问题是:您是否希望输出数组是输入数组的并集,但显示在交叉点上的项目将被修改为有一个“*”连接到它们?很抱歉,如果问题不清楚,我已经修改了我的问题。为什么不使用列表(set(a+b))@DeepakTripathi
set()
是无序结构,我想OP需要排序的输出。@AndrejKesely我用a=['Alpha'、'Delta'、'Fanta'、'Alpha'](数组a中的注释2'Alpha')运行您的代码,因此它产生输出为['Alpha'、'Beta'、'Charlie'、'Delta'、'Echo'、'Fanta'、'Alpha']@vgeorge我假设排序列表
a
b
。如果它们没有排序,则需要在合并之前执行
a=sorted(a)
b
操作。是的,我想要排序输出,如果数组a和b中有相同的数据,“数据”标记为*。