Python 有没有更快的方法填写MSelectionList?

Python 有没有更快的方法填写MSelectionList?,python,maya,maya-api,Python,Maya,Maya Api,在maya中,我想制作一个包含多个项目的OpenMayaMSelectionList(api 2.0版)。。。我只能用add方法填充它,如下所示: import maya.api.OpenMaya as om selList = om.MSelectionList() selList.add('node1') selList.add('node2') selList.add('node3') 用几个项目填充它是可以的,但是如果你有更多的项目,那就太单调了。。。我想知道是否有一种方法可以做更多

在maya中,我想制作一个包含多个项目的
OpenMaya
MSelectionList
(api 2.0版)。。。我只能用
add
方法填充它,如下所示:

import maya.api.OpenMaya as om

selList = om.MSelectionList()
selList.add('node1')
selList.add('node2')
selList.add('node3')
用几个项目填充它是可以的,但是如果你有更多的项目,那就太单调了。。。我想知道是否有一种方法可以做更多类似的事情:

import maya.api.OpenMaya as om

selList = om.MSelectionList(['node1', 'node2', 'node3'])
我可以编写自己的函数来创建一个空的MSelectionList,循环遍历一个list,添加它们,然后返回它;我只是想知道我已经彻底检查了一些明显的东西?从我在文档中看到的情况来看,您只能创建一个空的MSelectionList,或者通过传入另一个MSelectionList来创建一个MSelectionList(基本上是复制它)


如果这个类不能在类中固有地完成,有人知道它为什么这样实现吗?< /P> < P> MultStudio是一个围绕对象指针的C++列表的包装器。(Maya api的与众不同之处在于,它使用different处理对象的不同方面,而不是更熟悉的经典继承树)

这不是小事(特别是在90年代设计Maya API时。我怀疑没有人觉得花时间来做本质上是语法上的糖是值得的

sl = om.MSelectionList()
for node in nodelist:
    sl.add(n0de)


虽然我不推荐较短的版本,它会产生一系列毫无意义的
Nones
作为副作用

是的…我怀疑唯一的方法是通过循环…呜呜-看起来我会保留我的函数,这样做。但是,嘿,谢谢你对为什么会这样做的额外解释(90年代的局限性万岁)!
sl = om.MSelectionList()
[sl.add(n0de) for node in nodelist]