我正在尝试使用Python字典找到在Maya中删除重复着色器的方法。在
我要做的是:
我希望将所有maya着色器作为关键帧放入词典,并将相应的纹理文件作为值。然后我希望脚本在字典中运行,找到共享相同值的任何键,并将它们填充到数组或其他字典中。在
这就是我现在的基本情况:
shaders_dict = {'a': somePath, 'b': somePath,
'c': differentPath, 'd': differentPath}
duplicate_shaders_dict = {}`
现在,我如何运行该字典来编译另一个类似这样的词典:
^{pr2}$还有一个棘手的问题是,由于存在重复项,我希望脚本skip the original key
,这样它就不会被塞进重复着色器字典。在
我可能会做这样的事。首先,制作逆字典:
这基本上是通过循环每个键、值对并将键附加到与值相关联的列表中来反转字典。在
然后把这个分开:
^{pr2}$嗯。这假设纹理文件是散列的,因此可以作为字典键。如果他们没有,那我就得解决这个问题。另外,由于@freespace注意到这里没有顺序,如果你想要一个特定的顺序,我们必须迭代排序键或类似的键。在
在
更新:我不太喜欢以上这些。基于itertools的较短版本:
一个简单的解决方法是颠倒字典。给予:
可以这样反转:
^{pr2}$这给了你:
如果你把它颠倒过来,原来的字典就去掉了重复的部分:
相关问题 更多 >
编程相关推荐