トークンのリストとそれらのトークンの適切な既知のタイプ表現が与えられた場合、タイプをリストにマップするにはどうすればよいですか?タイプがint
'sの場合、または文字列をfloats
呼び出しint(x)
て値をintに変換できますが、タイプがa list
(またはと言うnumpy.array
)の場合は失敗します。変換を行うための最もPython的な方法は何ですか?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)]