在Python中将矩阵转换为数组

Moa*_*han 1 python

我在python中有一个数组数组.在python中将它转换为数组的最佳方法是什么?例如:

m = [[1,2],[3,4]]
# convert to [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我是python的新手,所以我不知道它的任何解决方案比编写循环更好.请帮忙.

roo*_*oot 5

使用itertools.chainlist comprehension:

from itertools import chain

list(chain(*m))  # shortest
# or:
list(chain.from_iterable(m)) # more efficient  
Run Code Online (Sandbox Code Playgroud)

对于较小的列表comprehension更快,对于较长的列表chain.from_iterable更合适.

[item for subl in m for item in subl]
Run Code Online (Sandbox Code Playgroud)

要了解嵌套理解,可以将其拆分为多行,并将其与常规for循环进行比较:

[item                         #result = []
    for subl in m             #for subl in m:  
        for item in subl]     #    for item in subl:
                              #        result.append(item)
Run Code Online (Sandbox Code Playgroud)