我想遍历一个名为Group
的集合并获取该组的最后一个值。
我尝试了以下代码:
m = list()
for i in range (1,6):
Group = base.Getentity(constants.ABAQUS, "SET", i)
m.append(Group)
print(Group)
我的结果如下:
<Entity:0*17a:id:1>
<Entity:0*14g:id:2>
<Entity:0*14f:id:3>
<Entity:0*14a:id:4>
None
None
在上面的代码中,我使用了一系列(1,6)
作为示例,但实际上我不知道范围编号所以我想编写不使用{{1}的代码} / range
或xrange
。
即使代码是用Python编写的,我的问题也更为笼统。
答案 0 :(得分:2)
你的代码没有多大意义。
m.append(set)
没有做任何事情,它只是将python-class-type set
附加到m
,而不是从base.Getentity
但回到这个问题。
您可以尝试使用while循环。
像这样:
m = []
i = 0
while True:
group = base.Getentity(constants.ABAQUS,"SET",i)
if group is None:
break
i += 1
m.append(group)
print(m[-1])
答案 1 :(得分:0)
这样的简单迭代解决方案可能可以完成你的工作:
last_group = None
i = 0
while True:
next_group = base.Getentity(constants.ABAQUS, "SET", i)
i += 1
if next_group is None:
break
last_group = i, next_group
print last_group
答案 2 :(得分:0)
Float32Array()
my_set = {1, 'hello', 12.4}
print(my_set)
print(list(my_set).pop())
--output:--
{1, 12.4, 'hello'}
hello
答案 3 :(得分:0)
假设i
未知,您必须迭代i
才能获得最终结果:
生成您的值并打印最后一个:
i = 1
last_group = None
while True:
group = base.Getentity(constants.ABAQUS,"SET", i)
if not group:
print 'Last item: {0} with i: {1}'.format(last_group, i)
last_group = group
i += 1
我们没有保留结果列表,因此如果i
可能很大,请保持较低的内存占用量。