如何在Python中创建包含各种类型元素的列表?

时间:2016-10-28 16:40:09

标签: python list abaqus

我在Python文件中有以下参数,用于向Abaqus发送与边界条件有关的命令:

u1=0.0,
u2=0.0,
u3=0.0,
ur1=UNSET,
ur2=0.0,
ur3=UNSET

我想将这些值放在列表中,并将该列表打印到.txt文件中。我想我应该将所有内容转换为字符串:

List = [str(u1), str(u2), str(u3), str(ur1), str(ur2), str(ur3)]

只有列表不包含“UNSET”时才有效,这是Abaqus使用的命令,既不是int也不是str。任何想法如何处理?非常感谢!

1 个答案:

答案 0 :(得分:0)

UNSET是Abaqus / cae定义的符号常量。它有一个成员name,它返回字符串表示,所以你可能会这样做:

 def tostring(v):
  try:
   return(v.name)
  except:
   return(str(v))

然后做例如

  bc= [0.,1,UNSET]
  print "u1=%s u2=%s u3=%s\n"%tuple([tostring(b) for b in bc])
  

U1 = 0。 u2 = 1 u3 = UNSET

编辑比这更简单。经过艰苦的处理后,我意识到符号常量是通过字符串转换正确处理的,所以你可以这样做:

  print "u1=%s u2=%s u3=%s\n"%tuple(['%s'%b for b in bc])