要保留重复项但加以区分,你可以使用一个字典(或哈希表)来记录每个元素的出现次数。然后,你可以根据每个元素的出现次数,在其后添加一个唯一的标识符来区分重复项。
以下是一个使用Python语言示例的解决方法:
def add_distinct_suffix(nums):
counts = {} # 用于记录每个元素的出现次数
result = [] # 用于存储最终结果
for num in nums:
if num in counts:
counts[num] += 1
result.append(f"{num}_{counts[num]}") # 添加带有唯一标识符的重复项
else:
counts[num] = 0
result.append(str(num)) # 添加非重复项
return result
# 示例用法
numbers = [1, 2, 2, 3, 3, 3]
result = add_distinct_suffix(numbers)
print(result) # 输出: ['1', '2_1', '2_2', '3_1', '3_2', '3_3']
在上面的示例中,我们使用了一个counts
字典来记录每个元素的出现次数。在遍历输入列表时,如果元素已经存在于counts
字典中,我们将其出现次数加1,并将带有唯一标识符的重复项添加到最终结果中。如果元素不存在于counts
字典中,我们将其出现次数初始化为0,并将其添加到最终结果中。
请注意,上述代码示例中使用了f-string来创建带有唯一标识符的字符串,这要求Python版本在3.6或更高。如果你使用的是较旧的Python版本,你可以使用str.format()
方法来创建带有唯一标识符的字符串。例如:result.append("{}_{}".format(num, counts[num]))
。
上一篇:保留重复日期的最新值
下一篇:保留重复项的集合减法