我有 :
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中有相同的数据,用*标记的“数据”。如果我的英语听不懂我很抱歉。
提前致谢
希望我对您的问题理解正确:您想合并两个数组,并且每个元素应该只出现一次(假设排序列表a
和b
):
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] 删除。
我来说两句