如何将2d数组转换为python中的列表

问题描述 投票:-2回答:1

这是我在Sudoku上工作的python代码,在其中我必须以2d数组形式输入输入并将以下输入更改为列表

 sudokuB = [
           [0, 0, 3, 0, 6, 9, 8, 0, 0],
           [0, 0, 0, 0, 0, 0, 9, 0, 0],
           [2, 7, 0, 0, 0, 0, 0, 0, 3],
           [0, 9, 0, 0, 0, 7, 0, 0, 0],
           [0, 2, 8, 0, 1, 0, 0, 6, 0],
           [1, 0, 0, 0, 3, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 7],
           [5, 4, 0, 6, 0, 0, 0, 0, 2],
           [0, 0, 0, 4, 0, 0, 0, 0, 0]
    ]

    i want to convert this 2d matrix into following format 

    ['0', '0', '3', '0', '6', '9', '8', '0', '0']
    ['0', '0', '0', '0', '0', '0', '9', '0', '0']
    ['2', '7', '0', '0', '0', '0', '0', '0', '3']
    ['0', '9', '0', '0', '0', '7', '0', '0', '0']
    ['0', '2', '8', '0', '1', '0', '0', '6', '0']
    ['1', '0', '0', '0', '3', '0', '0', '0', '0']
    ['0', '0', '0', '0', '0', '0', '0', '0', '7']
    ['5', '4', '0', '6', '0', '0', '0', '0', '2']
    ['0', '0', '0', '4', '0', '0', '0', '0', '0']
python arrays matrix
1个回答
0
投票

您要问的不是2d到1d列表转换。您正在要求元素转换(从int到str)。您可以使用以下功能进行操作。 N.B.也可以使用列表理解来完成,但是此解决方案更倾向于可读性而非简洁性:

def string_conversion(sudokuB):
    """Converts list elements to string."""

    sudokuB_str = []

    for lst in sudokuB:
        elems = []
        for elem in lst:
            elems.append(str(elem))
        sudokuB_str.append(elems)

    return sudokuB_str

现在使用该功能:

sudokuB = [
           [0, 0, 3, 0, 6, 9, 8, 0, 0],
           [0, 0, 0, 0, 0, 0, 9, 0, 0],
           [2, 7, 0, 0, 0, 0, 0, 0, 3],
           [0, 9, 0, 0, 0, 7, 0, 0, 0],
           [0, 2, 8, 0, 1, 0, 0, 6, 0],
           [1, 0, 0, 0, 3, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 7],
           [5, 4, 0, 6, 0, 0, 0, 0, 2],
           [0, 0, 0, 4, 0, 0, 0, 0, 0]
    ]

sudokuB_str = string_conversion(sudokuB)

print(sudokuB_str)

这将返回:

[['0', '0', '3', '0', '6', '9', '8', '0', '0'],
 ['0', '0', '0', '0', '0', '0', '9', '0', '0'],
 ['2', '7', '0', '0', '0', '0', '0', '0', '3'],
 ['0', '9', '0', '0', '0', '7', '0', '0', '0'],
 ['0', '2', '8', '0', '1', '0', '0', '6', '0'],
 ['1', '0', '0', '0', '3', '0', '0', '0', '0'],
 ['0', '0', '0', '0', '0', '0', '0', '0', '7'],
 ['5', '4', '0', '6', '0', '0', '0', '0', '2'],
 ['0', '0', '0', '4', '0', '0', '0', '0', '0']]
© www.soinside.com 2019 - 2024. All rights reserved.