如何制作包含 Python 中各种类型元素的列表?

How can I make a list that contains various types of elements in Python?

我在 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。任何想法如何处理?非常感谢!

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

 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

EDIT 比这简单。在以困难的方式做事之后,我意识到字符串转换正确处理了符号常量,所以你可以这样做:

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