我正在尝试将字符串矩阵转换为整数矩阵,
例如我有Matrix=[['1','2']['3','4']]
我之所以使用split,是因为Matrix是一个内部带有空格的输入,我仅举了一个例子。
我正在这样做:
for arr in Matrix:
arr=arr.split()
arr=[map(lambda x:int(x),arr)]
由于某些原因,矩阵保持不变,我是否缺少某些东西?
编辑这是我的可执行代码:
Matrix=[];
while True:
try:
arrInput=input('enter');
Matrix.append(arrInput)
except (KeyboardInterrupt,EOFError):
print('done');
break;
for arr in Matrix:
arr=arr.split()
答案 0 :(得分:3)
您的Matrix语法无效,应该是:
Matrix=[['1','2'],['3','4']]
Matrix=[['1','2'],['3','4']]
print([[int(x) for x in lst] for lst in Matrix])
OR
(如果您希望map
像这样):
print([list(map(int, lst)) for lst in Matrix])
输出:
[[1, 2], [3, 4]]
编辑:
OP:问题是我不希望将其打印出来,所以当我删除打印件时,会出现此错误。
如果您不想打印它,可以分配它:
res = [list(map(int, lst)) for lst in Matrix]
答案 1 :(得分:1)
使用numpy
(pip install numpy
)进行尝试:
import numpy as np
matrix = [['1', '2'], ['3', '4']]
result = np.array(matrix, dtype=int)
print(result.tolist())
# [[1, 2], [3, 4]]