给定一个标记列表和这些标记的适当的已知类型表示,我如何将类型映射到列表上?如果类型是int
's 或者floats
我可以调用int(x)
一个字符串来将值转换为一个 int,但是如果我的类型是 a list
(或者说 a numpy.array
),这将失败。进行转换的最pythonic方式是什么?eval
这里不是一个选项,因为数据基本上没有经过消毒。一个例子:
line = "0 0 62.9695 [16.859,-17.1135,46.6351] [7.1759,29.3009,83.1399]"
tokens = line.split()
type_key = [int,int,float,list,list] # Lists do not convert properly here
print [T(x) for T,x in zip(type_key,tokens)]