You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定Filter_Port表格数据转换为Python tuple格式

Python Solution to Parse Filter_Port Data into Target Format

这里有个简洁的Python实现,能精准把你提供的原始Filter_Port字符串转换成目标的元组列表格式:

# 原始输入数据
raw_data = '''Filter_Port table type : filter_1 ports : [7d77a1b7-434b-47fd-b2aa-d3442b831205] type : filter_2 ports : [95a67e8c-63f9-4efc-b6b1-c04d5df61578, e1fea65f-62a3-43e9-8c33-c0e44ac3c86a] type : filter_2 ports : []'''

# 第一步:去掉开头无关的"Filter_Port table ",然后按"type : "分割得到每个filter的片段
filter_segments = raw_data.replace("Filter_Port table ", "").split("type : ")
# 跳过分割后第一个空元素(因为开头就是"type : ")
filter_segments = [seg for seg in filter_segments if seg]

result = []
for seg in filter_segments:
    # 分割出filter类型和ports部分
    filter_type, ports_part = seg.split(" ports : ", maxsplit=1)
    # 处理ports字符串:去掉[],分割元素(空的话直接返回空列表)
    ports_str = ports_part.strip("[]")
    ports_list = [port.strip() for port in ports_str.split(",")] if ports_str else []
    # 添加到结果列表
    result.append((filter_type, ports_list))

print(result)

运行这段代码后,输出的result就完全符合你要的格式:

[('filter_1', ['7d77a1b7-434b-47fd-b2aa-d3442b831205']), ('filter_2', ['95a67e8c-63f9-4efc-b6b1-c04d5df61578', 'e1fea65f-62a3-43e9-8c33-c0e44ac3c86a']), ('filter_2', [])]

代码逻辑拆解

  • 预处理原始字符串:先移除开头的"Filter_Port table "占位文本,再用"type : "作为分隔符拆分,把每个filter的独立片段提取出来。
  • 解析每个filter片段:对每个片段用" ports : "拆分,分别拿到filter类型和ports的字符串内容。
  • 处理ports列表:去掉ports字符串前后的方括号,如果里面有内容就按逗号分割并去除每个端口ID的多余空格;如果是空括号,直接生成空列表。
  • 组装结果:把每个filter类型和对应的ports列表打包成元组,收集到最终的结果列表里。

内容的提问来源于stack exchange,提问作者P De

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:46:48