如何在Python中拆分指定格式字符串并转换为目标结构列表?
问题解决方法
你的需求是将拼接的大括号包裹字符串拆分后转为对应格式的列表,可通过以下两种方式实现:
方法1:纯字符串操作(无依赖)
无需引入额外库,处理逻辑简单高效:
original_str = "{a,b,c}{d,e,f}{g,h,i}" # 去除首尾大括号后按`}{`拆分得到每个分组的内容 segments = original_str.strip('{}').split('}{') # 转为集合列表(如果你要的是Python集合类型的元素) output_list = [set(seg.split(',')) for seg in segments] # 如果你需要的是保留`{x,y,z}`格式的字符串元素,替换为下面的代码 # output_list = [f"{{{seg}}}" for seg in segments]
运行后output_list的结果就是你需要的[{a,b,c},{d,e,f},{g,h,i}]。
方法2:正则提取(适配格式波动)
如果后续输入的字符串格式有变化(比如大括号之间存在空格、换行等),用正则匹配更稳定:
import re original_str = "{a,b,c}{d,e,f}{g,h,i}" # 提取所有被大括号包裹的内容 segments = re.findall(r'\{(.*?)\}', original_str) output_list = [set(seg.split(',')) for seg in segments]
注意事项
如果a/b/c是字符串字面量而非代码变量,拆分后可以自行给元素增加引号修饰即可。
内容的提问来源于stack exchange,提问作者Mauricio Camacho
相关产品推荐
相关产品推荐

