【发布时间】:2013-08-01 04:20:18
【问题描述】:
我想比较 3 位或 4 位整数的字符串表示形式。我想将它们分组为成对的“亲密关系”。也就是说,pc_dud[3] 应该与 dud[0] 配对。
dud = ['3433', '3467', '3551', '345', '345', '3613']
pc_dud = ['3401', '3402', '3430', '0342', '3584']
有没有人知道那里有一个很好的工具来做到这一点(我在想自己可能是像水母这样的东西)?当然,另一种解决方案是使用算术差异作为“接近度”的指标。有什么想法吗?
【问题讨论】:
-
difflib 模块。
-
差异会更容易,因为它们只是数字。如果它们是字母数字字符串,那么您将执行等效的 levenshtein 距离。
-
这取决于您希望将差异最小化的程度,例如是否可以牺牲一对以使所有其他人更接近...如果不是,我会对列表进行排序并压缩两者。
-
不过,这些列表的长度不同。
-
或者,您可能希望最小化平均差异、最大差异,...有多种方法,具体取决于您想用它做什么。