在Python中将矩阵元素从str转换为int

时间:2013-04-15 20:13:41

标签: python scripting

我需要将矩阵的元素从str转换为int(在我从文件中读取它们之后)。 我不想使用任何外部库。

这是我到目前为止制作的,它正在发挥作用,但我对它不满意(不是非常pythonic):

def str2int(matrix):
    n = 1 
    m = 1 
    if type(matrix) is ListType:
        n = len(matrix)
        if type(matrix[0]) is ListType:
            m = len(matrix[0])
    new_matrix = []
    i = 0 
    while i < n:
        new_matrix.append([])
        j = 0 
        while j < m:
            new_matrix[i].append(int(matrix[i][j]))
            j += 1
        i += 1
    return new_matrix

有更好的想法吗?

感谢。

1 个答案:

答案 0 :(得分:4)

使用list comprehension

return [[int(i) for i in row] for row in matrix]