Julia 1.8.3中如何将无分隔符数字字符串转为整数数组
Julia:将无分隔符数字字符串转为整数列表
需要将类似 "123" 的无分隔符数字字符串转换为 [1,2,3] 这样的整数数组,且在Julia 1.8.3中调用parse时出现了MethodError,以下是解决方法及错误原因分析:
错误原因
报错的核心是调用parse时未指定目标类型,缺少必要的类型参数。从错误信息的候选方法可以看到,parse的正确调用需要先传入要解析的类型(如Int),再传入待解析的字符或字符串。直接对字符/子串调用parse(c)会因方法签名不匹配触发错误。
正确解法
方法1:遍历字符并指定类型解析
直接遍历字符串的每个字符,用parse(Int, c)将单个字符转为整数:
s = "123" # 推导式写法 result = [parse(Int, c) for c in s] # 或者用map函数 result = map(c -> parse(Int, c), s)
运行后得到结果:[1, 2, 3]
方法2:字符转字符串后解析(兼容写法)
如果需要先将字符转为字符串再解析,也可以这样写:
s = "123" result = [parse(Int, string(c)) for c in s]
以上两种写法在Julia 1.8.3中均可正常运行,不会触发方法匹配错误。
内容的提问来源于stack exchange,提问作者DialFrost
相关产品推荐
相关产品推荐

