在python中将数组的字符串表示形式转换为实际数组

 滚猪儿 发布于 2023-02-13 22:26

嗨,通过网络做一些事情,并想知道是否有任何方式将python数组转换为字符串回到python数组..例如

x = "[1,2,3,4]"

将x转换为

x_array = [1,2,3,4]

奖金,如果它也可以适用于多块的多维数组!

1 个回答
  • 对于普通数组,请使用ast.literal_eval:

    >>> from ast import literal_eval
    >>> x = "[1,2,3,4]"
    >>> literal_eval(x)
    [1, 2, 3, 4]
    >>> type(literal_eval(x))
    <type 'list'>
    >>>
    

    numpy.array但是因为Python将它们呈现为字符串,所以有点棘手:

    >>> import numpy as np
    >>> x = [[1,2,3], [4,5,6]]
    >>> x = np.array(x)
    >>> x
    array([[1, 2, 3],
           [4, 5, 6]])
    >>> x = str(x)
    >>> x
    '[[1 2 3]\n [4 5 6]]'
    >>>
    

    你可以使用的一个hack用于简单的用逗号替换空白re.sub:

    >>> import re
    >>> x = re.sub("\s+", ",", x)
    >>> x
    '[[1,2,3],[4,5,6]]'
    >>>
    

    然后,您可以使用ast.literal_eval并将其转回numpy.array:

    >>> x = literal_eval(x)
    >>> np.array(x)
    array([[1, 2, 3],
           [4, 5, 6]])
    >>>
    

    2023-02-13 22:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有