如何在Dynamo中实现双列表元素匹配并生成指定格式新列表
Dynamo列表匹配格式化解决方案
核心逻辑
无需做复杂的元素相似匹配,只需从第二个列表(list02)中提取统一的格式模板,再将第一个列表(list01)的数值按原有顺序套入模板即可得到目标列表。
操作步骤
- 在Dynamo画布中添加
Python Script节点 - 将你的list01连接到Python节点的第一个输入端口,list02连接到第二个输入端口
- 双击打开Python脚本编辑器,删除原有默认代码,粘贴下方的脚本代码后点击「运行」即可
可用脚本代码
# 导入正则匹配模块 import re # 读取输入的两个列表 list01 = IN[0] list02 = IN[1] # 提取list02的通用格式:拆分得到前缀、后缀 sample = list02[0] num_in_sample = re.search(r'\d+', sample).group() prefix = sample.split(num_in_sample)[0] suffix = sample.split(num_in_sample)[1] # 按list01顺序生成格式化的新列表 list03 = [f"{prefix}{num}{suffix}" for num in list01] # 输出结果 OUT = list03
测试效果
用你提供的示例输入运行脚本,输出结果和你期望的完全一致:
list03 = [N = 500mm, N = 900mm, N = 1000mm, N = 1500mm, N = 500mm, N = 400mm]
注意:如果你的list02元素格式不统一,需要先确保所有元素的前后缀规则一致,再调整正则匹配规则即可适配
内容的提问来源于stack exchange,提问作者Henry Bajaña Guevara
相关产品推荐
相关产品推荐

