将python字符串列表转换为其typ

2024-07-08 08:26:33 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个python字符串列表,如何自动将它们转换为正确的类型?意思是,如果我有:

["hello", "3", "3.64", "-1"]

我想把这个转换成单子

^{pr2}$

其中第一个元素是stirng,第二个元素是int,第三个元素是float,第四个元素是int

我该怎么做?谢谢。在


Tags: 字符串元素类型hello列表float单子int
3条回答
import ast

L = ["hello", "3", "3.64", "-1"]

def tryeval(val):
  try:
    val = ast.literal_eval(val)
  except ValueError:
    pass
  return val

print [tryeval(x) for x in L]
def tryEval(s):
  try:
    return eval(s, {}, {})
  except:
    return s

map(tryEval, ["hello", "3", "3.64", "-1"])

只有当您信任输入时才执行此操作。另外,请注意,它支持的不仅仅是文字;还将计算算术表达式。在

不使用评估:

def convert(val):
    constructors = [int, float, str]
    for c in constructors:
        try:
            return c(val)
        except ValueError:
            pass

相关问题 更多 >

    热门问题