Python如何实现字符串有序两两拼接(读取txt文件生成所有配对结果)
Python3实现有序单词拼接程序
核心逻辑说明
你需要的是所有长度为2的有序单词排列(排除单词自身和自身拼接的场景),zip函数仅能完成同位置元素配对,单独使用join无法生成两两配对逻辑,因此之前的尝试没有达到效果。
完整实现代码
方法1:嵌套循环实现(无额外依赖,逻辑直观)
# 1. 读取文件内容,过滤空行并去除每行首尾空白/换行符 with open('file.txt', 'r', encoding='utf-8') as f: word_list = [line.strip() for line in f if line.strip()] # 2. 生成有序两两拼接结果 result = [] for idx1, word1 in enumerate(word_list): for idx2, word2 in enumerate(word_list): if idx1 != idx2: combined = word1 + word2 result.append(combined) # 3. 输出所有结果 for item in result: print(item)
方法2:使用标准库itertools实现(代码更简洁)
import itertools # 1. 读取文件内容 with open('file.txt', 'r', encoding='utf-8') as f: word_list = [line.strip() for line in f if line.strip()] # 2. 生成2元素有序排列并拼接 result = [''.join(pair) for pair in itertools.permutations(word_list, 2)] # 3. 输出结果 for item in result: print(item)
内容的提问来源于stack exchange,提问作者user17387174
相关产品推荐
相关产品推荐

