Python如何判断列表内单词前后两半是否相同并筛选符合条件的词
单词前后段匹配校验实现
核心功能
- 遍历存储多个单词的输入列表,逐词做等分校验
- 自动筛选出前半段与后半段内容完全一致的单词
- 同步统计符合校验规则的单词总数量
- 长度为奇数的单词无法做精确二等分,默认判定为不符合规则,直接跳过
校验示例
输入测试列表:
["abcabc","abcccc","cbccbc","cccbbb"]
逐词校验过程:
abcabc长度为6,前3位为abc,后3位为abc,前后一致,符合要求abcccc长度为6,前3位为abc,后3位为ccc,前后不一致,不符合cbccbc长度为6,前3位为cbc,后3位为cbc,前后一致,符合要求cccbbb长度为6,前3位为ccc,后3位为bbb,前后不一致,不符合
预期输出:符合条件的结果列表为["abcabc", "cbccbc"],匹配总数为2
可直接运行的实现代码(Python)
def filter_half_same_words(word_list): valid_words = [] for word in word_list: word_length = len(word) # 奇数长度无法等分,直接跳过 if word_length % 2 != 0: continue split_index = word_length // 2 if word[:split_index] == word[split_index:]: valid_words.append(word) return valid_words, len(valid_words) # 示例调用 if __name__ == "__main__": test_input = ["abcabc","abcccc","cbccbc","cccbbb"] result, total = filter_half_same_words(test_input) print("匹配的单词列表:", result) print("匹配总数:", total)
运行输出
匹配的单词列表: ['abcabc', 'cbccbc'] 匹配总数: 2
内容的提问来源于stack exchange,提问作者user19272398
相关产品推荐
相关产品推荐

