Python 列表理解 objects
Python list comprehension with objects
我正在尝试创建以下形式的列表
a = [group[0],
group[1],
group[2]]
当使用列表理解或知道这个方法时
a = ['group[{}]'.format(i) for i in range(3)]
a = ['group[0]',
'group[1]',
'group[2]']
所以我得到的是一个字符串,但我需要变量。
只是为了添加更多背景信息。我正在使用 Ansys SpaceClaim,它具有创建几何的脚本功能。当我 select 身体时,我得到以下
# Merge Bodies
no_bodies = GetRootPart().Components[0].Components.Count
targets = BodySelection.Create([GetRootPart().Components[0].Components[0].Content.Bodies[0],
GetRootPart().Components[0].Components[1].Content.Bodies[0],
GetRootPart().Components[0].Components[2].Content.Bodies[0],
GetRootPart().Bodies[0]])
result = Combine.Merge(targets, Info1)
所以我想用
之类的东西代替它
targets = BodySelection.Create([GetRootPart().Components[0].Components[i].Content.Bodies[0] for i in range(3)])
顺便说一句,我可以看到我也错过了最后一个身体
您可以使用列表推导来遍历特定范围:
BodySelection.Create([
GetRootPart().Components[0].Components[i].Content.Bodies[0]
for i in range(3)
])
编辑后:
# Merge Bodies
no_bodies = GetRootPart().Components[0].Components.Count
targets = BodySelection.Create(
[
GetRootPart().Components[0].Components[i].Content.Bodies[0]
for i in range(3)
]
+ [GetRootPart().Bodies[0]]
)
result = Combine.Merge(targets, Info1)
我正在尝试创建以下形式的列表
a = [group[0],
group[1],
group[2]]
当使用列表理解或知道这个方法时
a = ['group[{}]'.format(i) for i in range(3)]
a = ['group[0]',
'group[1]',
'group[2]']
所以我得到的是一个字符串,但我需要变量。
只是为了添加更多背景信息。我正在使用 Ansys SpaceClaim,它具有创建几何的脚本功能。当我 select 身体时,我得到以下
# Merge Bodies
no_bodies = GetRootPart().Components[0].Components.Count
targets = BodySelection.Create([GetRootPart().Components[0].Components[0].Content.Bodies[0],
GetRootPart().Components[0].Components[1].Content.Bodies[0],
GetRootPart().Components[0].Components[2].Content.Bodies[0],
GetRootPart().Bodies[0]])
result = Combine.Merge(targets, Info1)
所以我想用
之类的东西代替它 targets = BodySelection.Create([GetRootPart().Components[0].Components[i].Content.Bodies[0] for i in range(3)])
顺便说一句,我可以看到我也错过了最后一个身体
您可以使用列表推导来遍历特定范围:
BodySelection.Create([
GetRootPart().Components[0].Components[i].Content.Bodies[0]
for i in range(3)
])
编辑后:
# Merge Bodies
no_bodies = GetRootPart().Components[0].Components.Count
targets = BodySelection.Create(
[
GetRootPart().Components[0].Components[i].Content.Bodies[0]
for i in range(3)
]
+ [GetRootPart().Bodies[0]]
)
result = Combine.Merge(targets, Info1)