Dynamo使用CodeBlock进行列表元素获取与替换

目录

列表元素获取

常规选择

特定获取

列表元素替换

另一种做法,PythonScript

参考资料


列表元素获取

常规选择

在Dynamo中,可以使用CodeBlock根据索引号快速获取到列表中的元素,例如:

  • 获取一个

  • 获取多个

对于多维列表,根据不同的需求,获取方法略有不同

  • 获取一个子列表

 

  • 获取多个子列表

 

  • 获取子列表的一个元素

 

  • 获取多个子列表的一个元素

 

  • 获取多个子列表的多个元素

 

特定获取

可以使用一些方法获得列表特定位置的元素,常用于列表元素数量不确定

  • 获得最后一个元素(结果同List.LastItem)

 

  • 间隔一个元素获取(List.TakeEceryNthItem)

 

列表元素替换

使用List.ReplaceItemAtIndex方法(也可以直接用自带的节点)进行简单列表的单个元素替换

  • 简单列表的单个元素替换

多元素替换及复杂结构列表元素替换相对复杂一些,因为CodeBlock的语法特性,需要先创建一个新列表用于元素的查找与替换

  • 按索引替换特定元素

 

  • 替换多维列表子列表中的倒数第二个元素

 

  • 对多维列表的所有子列表进行一个元素的替换时,可以通过List.Map更简单地实现

 

另一种做法,PythonScript

熟悉Python的话还是写节点吧,使用CodeBlock对复杂列表进行操作,通常要注意检查输入的是否原始的列表数据,以保证结果的准确性,调试数据时有时会让人非常困惑

  • 简单列表按索引多个替换

 

  • 多维列表替换某子列表的倒数第二个元素

 

参考资料

列表的列表 | Dynamo Primer (dynamobim.org)

Dynamo应用秘籍:34:列表元素多索引替换 - 知乎 (zhihu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值