In [46]: m = '0101010,0101010,0101010'
In [47]: [r for r in m.split(',')]
Out[47]: ['0101010', '0101010', '0101010']
In [48]: [[c for c in r] for r in m.split(',')]
Out[48]:
[['0', '1', '0', '1', '0', '1', '0'],
['0', '1', '0', '1', '0', '1', '0'],
['0', '1', '0', '1', '0', '1', '0']]
In [49]: [[int(c) for c in r] for r in m.split(',')]
Out[49]: [[0, 1, 0, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0], [0, 1, 0, 1, 0, 1, 0]]
In [50]: np.array([[int(c) for c in r] for r in m.split(',')])
Out[50]:
array([[0, 1, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 1, 0]])
In [51]:
eval可以做到:
python代码:
^{pr2}$基本上,您需要的是将文本转换为结构化数据(这里是numpy数组)。因为手动操作(如拆分字符串或使用
eval
)充满了错误和安全漏洞,所以我建议使用一个库来为您进行解析。在这里我认为
json
是最自然的格式。示例用法现在可以在命令行上运行了
^{pr2}$如果你想写
然后需要来自
^{pr2}$sys
模块的argv
向量,它包含命令行中的所有元素,然后是一个简单的列表理解 将第一个参数拆分为逗号,从而得到矩阵的r
ows(注意这些行是字符串),然后构建一个子列表,转换一行中的每个字符为了详细说明这个过程,使用一个辅助变量来代替
argv[1]
相关问题 更多 >
编程相关推荐