2024-10-01 13:36:53 发布
网友
我有一个字符串计数字典:{"abcd12efgh":1,"abcd23efgh":1,"abcd567efgh":1,"abcdkljefgh":1, "dog":1, "cat":1}
{"abcd12efgh":1,"abcd23efgh":1,"abcd567efgh":1,"abcdkljefgh":1, "dog":1, "cat":1}
我需要将类似的字符串组合在一起,并聚合计数以得到如下结果:{"abcdxxxefgh":4,"dog":1,"cat":1}.
{"abcdxxxefgh":4,"dog":1,"cat":1}.
用Python实现这一点最优雅的方法是什么?你知道吗
答案取决于你如何假设两个键匹配,但是你可以有一个单独的函数来决定。我已经写了一个可能是你要找的:检查键是否有特定的前缀和后缀。您可以添加更多的约束,例如,中间的子字符串具有一定的长度或其他模式。你知道吗
def transform(key): prefix, suffix = 'abcd', 'efgh' transformed = key if key.startswith(prefix) and key.endswith(suffix): transformed = prefix + 'X' + suffix return transformed new_d = {} for k in d: new_d[transform(k)] = new_d.get(transform(k), 0) + d[k] #{'abcdXefgh': 4, 'cat': 1, 'dog': 1}
答案取决于你如何假设两个键匹配,但是你可以有一个单独的函数来决定。我已经写了一个可能是你要找的:检查键是否有特定的前缀和后缀。您可以添加更多的约束,例如,中间的子字符串具有一定的长度或其他模式。你知道吗
相关问题 更多 >
编程相关推荐