Python如何编写循环修改3位字符串中间字符生成目标列表
实现思路与可运行代码
核心逻辑为同步遍历已生成的输入列表,对每个三元组元素筛选排除原中间位字符的可选替换集,每完成一次替换同步生成输出项与操作标记,具体实现如下:
import itertools as it lis = ["A","B","C","D"] # 1. 输入列表(你已完成的部分) inp = list(it.product(lis, repeat = 3)) # 2. 同步生成输出列表和变化标记列表 output_list = [] mark_list = [] op_index = 1 for item in inp: first_char, orig_mid_char, last_char = item # 筛选除原中间字符外的3个可选替换字符 replace_options = [ch for ch in lis if ch != orig_mid_char] for replace_char in replace_options: # 拼接生成新字符串加入输出列表 new_item = f"{first_char}{replace_char}{last_char}" output_list.append(new_item) # 生成对应操作标记加入标记列表 mark_list.append(f"C{op_index}") op_index += 1
结果验证
- 输入列表长度为64,输出列表、变化标记列表长度均为
64*3=192,符合需求要求 - 输入为
('A','A','A')时,对应生成输出项ABA、ACA、ADA,对应标记为C1、C2、C3,和示例规则完全匹配
内容的提问来源于stack exchange,提问作者Geinkehdsk
相关产品推荐
相关产品推荐

