Python 无法从字符串生成输出差异
首先,我道歉,如果我的题目是错误的,因为我不知道如何用更好的方式表达它。我试图打印出列表中不包含单词Python 无法从字符串生成输出差异,python,maya,Python,Maya,首先,我道歉,如果我的题目是错误的,因为我不知道如何用更好的方式表达它。我试图打印出列表中不包含单词Shape的项目,但根本无法获得输出。它产生了一些东西,但仍然是错误的 在下面的代码中,我已经写出了输出,但正如您在最后一行中看到的,它不是生成“group1”、“locator1”和“pCube1”,而是生成pCubeShape1 有人能给我一些建议吗?非常感谢 import maya.cmds as cmds newSel01 = cmds.ls(sl=True) # [u'group1',
Shape
的项目,但根本无法获得输出。它产生了一些东西,但仍然是错误的
在下面的代码中,我已经写出了输出,但正如您在最后一行中看到的,它不是生成“group1”、“locator1”和“pCube1”
,而是生成pCubeShape1
有人能给我一些建议吗?非常感谢
import maya.cmds as cmds
newSel01 = cmds.ls(sl=True)
# [u'group1', u'locator1', u'locatorShape1', u'pCube1', u'pCubeShape1']
if "Shape" in str(newSel01):
if item in newSel01:
print item
# pCubeShape1
据我所知,您希望筛选出列表中不包含“形状”一词的所有项目:
据我所知,您希望筛选出列表中不包含“形状”一词的所有项目:
你就快到了。试一试
for item in newSel01:
if "Shape" not in item:
print item
选择列表中的每个条目,检查其中是否出现字符串“Shape”,然后打印它。当然,这将分别打印每个条目。您可以将项目附加到列表中,也可以使用列表理解来更加简洁
[x for x in newSel01 if "Shape" not in x]
您也可以使用过滤器方法
filter(lambda x: "Shape" not in x, newSel01)
你就快到了。试一试
for item in newSel01:
if "Shape" not in item:
print item
选择列表中的每个条目,检查其中是否出现字符串“Shape”,然后打印它。当然,这将分别打印每个条目。您可以将项目附加到列表中,也可以使用列表理解来更加简洁
[x for x in newSel01 if "Shape" not in x]
您也可以使用过滤器方法
filter(lambda x: "Shape" not in x, newSel01)
如果您试图从选择中获取变换,ls
命令有一个参数
ls(sl=True, transforms=True)
将过滤掉任何形状
或者,论点是:
ls(sl=True, shapes=True)
我会做相反的事
这样就不需要任何字符串比较或正则表达式搜索。这主要是供参考的;所有其他答案都非常符合您的要求。如果您试图从选择中获取转换,ls
命令有一个参数
ls(sl=True, transforms=True)
将过滤掉任何形状
或者,论点是:
ls(sl=True, shapes=True)
我会做相反的事
这样就不需要任何字符串比较或正则表达式搜索。这主要是供参考的;所有其他答案都非常适合你的要求。谢谢!这对我帮助很大!谢谢这对我帮助很大!