将横向分隔列表转换为纵向列表的实现需求
如何将分隔列表纵向展开?
需要将包含数量:字母格式的分隔列表纵向展开,生成带递增索引的名称和对应字母的表格,列表中的字母类型数量无上限。
示例输入
| 名称 | 列表 |
|---|---|
| NameA | 3:F,1:G |
| NameB | 2:G |
| NameC | 1:F,1:G,1:J |
期望输出
| 带索引名称 | 字母 |
|---|---|
| NameA_1 | F |
| NameA_2 | F |
| NameA_3 | F |
| NameA_4 | G |
| NameB_1 | G |
| NameB_2 | G |
| NameC_1 | F |
| NameC_2 | G |
| NameC_3 | J |
解决方案(Python实现)
以下代码可处理任意数量的字母类型,自动生成目标表格:
# 模拟输入数据 input_data = [ {"名称": "NameA", "列表": "3:F,1:G"}, {"名称": "NameB", "列表": "2:G"}, {"名称": "NameC", "列表": "1:F,1:G,1:J"} ] output = [] current_index = 1 for item in input_data: name = item["名称"] parts = item["列表"].split(",") for part in parts: count, char = part.split(":") count = int(count) for _ in range(count): output.append({ "带索引名称": f"{name}_{current_index}", "字母": char }) current_index += 1 # 打印结果表格(也可写入文件或数据库) print("| 带索引名称 | 字母 |") print("|------------|------|") for row in output: print(f"| {row['带索引名称']} | {row['字母']} |")
代码说明
- 遍历每条输入数据,拆分列表中的
数量:字母片段 - 按数量重复生成对应行,索引全局递增
- 支持任意数量的字母类型,无需修改代码适配
内容的提问来源于stack exchange,提问作者UBP
相关产品推荐
相关产品推荐

