如何制作包含 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])
我在 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])