gpt4 book ai didi

Python:通过扭曲使列表唯一化

转载 作者:太空狗 更新时间:2023-10-30 00:51:33 25 4
gpt4 key购买 nike

假设我有一个列表:

L = [15,16,57,59,14]

该列表包含不是很准确的测量值:即元素的实际值是记录值的 +-2。所以 14,15 和 16 可以有相同的值。我想要做的是唯一化该列表,同时考虑到测量错误。因此输出应该是:

l_out = [15,57]

l_out = [(14,15,16),(57,59)]

使用 for 循环生成任何一个结果都没有问题。但是,我很好奇是否有更优雅的解决方案。想法很受欢迎。

最佳答案

正如 lazyr 在评论中指出的那样,已经发布了类似的问题 here .使用集群模块解决我的问题是:

>>> from cluster import *
>>> L = [15,16,57,59,14]
>>> cl = HierarchicalClustering(L, lambda x,y: abs(x-y))
>>> cl.getlevel(2)
[[14, 15, 16], [57, 59]]

或(获取包含每组平均值的唯一列表):

>>> [mean(cluster) for cluster in cl.getlevel(2)]
[15, 58]

关于Python:通过扭曲使列表唯一化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com