| 版权声明
| 作者:月之眼
| 首发于大水牛参数化设计平台
| 如需转载请联系作者
| 如果觉得文章不错,欢迎分享
问题背景
- 今天有人在群里问“大佬们好,再请教大家一个问题,我想对每个路径进行求和,python中该如何操作?多谢了”。
问题解答
简单介绍两种方法。
- 第一种方法比较简单和常规。把输入类型设置为list,利用sum()函数直接对列表求和。
- 第二种方法比较传统,把输入类型设置为data tree,然后再把树形数据转换成嵌套列表,再对嵌套列表进行列表解析求和。
这里讲第二种方法主要是为了讲解一下,rhino6中自带的import ghpythonlib.treehelpers库。这个库中有两个方法tree_to_list(),这个方法是把树形数据转换成嵌套列表,list_to_tree(),这个方法是把嵌套列表转换成树形数据。下面我们简单自定义一个方法实现tree_to_list的效果。
import ghpythonlib.treehelpers as ght
a = ght.tree_to_list(x,0)
def TreeToList(tree):
outlist=[list(tree.Branch(i)) for i in tree.Paths]
return outlist
b = TreeToList(x)