首页 > 解决方案 > 检测重复元素python

问题描述

我不断地从服务器获取数据,并且可以通过以下代码行接收数据:

id, type, value = getId(payload)

之后,我想通过以下方式将它们写入文件:

out.write(str(id) + ";" + str(type) + ";" + str(value) + "\n")

现在的情况是,同一个 id 可以出现多次,但值将是不同的。因此,我想将 out.write 扩展为以下方式,即在右侧添加不同的值,但仍引用相同的 id:

out.write(str(id) + ";" + str(type) + ";" + str(value) + ";" + str(value1) + ";" + str(value2) + "\n")

有谁知道如何在python中做到这一点?

标签: pythonarrayspython-3.xlist

解决方案


您想保留一个字典,其中字典中的键是您id的,值是 a set,您可以添加所有值

from collections import defaultdict
results = defaultdict(set)

id, type, value = getId(payload)
results[id].add(value)

然后,该字典将保留每个id.

应该注意的是,使用集合会删除重复的计数,所以如果你想保留每个值,包括重复,请使用lista


推荐阅读