python - 如何对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 中有相同的数据,用 * 标记的“数据”。如果我的英语不容易理解,我很抱歉。
提前致谢
解决方案
我希望我理解你的问题是正确的:你想合并两个数组,每个元素应该只出现一次(假设排序列表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*']
推荐阅读
- typescript - 对于从对象文字访问的函数,上下文类型不会向后流动?
- android - android位置-当应用程序为后台时无法在服务中获取位置
- scala - Spark Scala - 需要遍历数据框中的列
- javascript - 返回除特定索引外的数组索引
- java - Why does this error occur? An established connection was aborted by the software in your host machine
- java - Swing context menu on JavaFX Chart
- php - Laravel Validation - Array fields, only one of two allowed but neither is required
- mysql - ErrorException (E_ERROR) 未定义变量:buildingSections
- r - 按组匹配行值(r,data.table)
- android - 安装 Ad-Hoc Android 应用程序