1

私はPythonで配列の配列を持っています。Pythonで配列に変換する最良の方法は何ですか? 例えば:

m = [[1,2],[3,4]]
# convert to [1,2,3,4]

私はPythonが初めてなので、ループを書くよりも良い解決策を知りません。助けてください。

4

1 に答える 1

5

使用itertools.chainまたはlist comprehension

from itertools import chain

list(chain(*m))  # shortest
# or:
list(chain.from_iterable(m)) # more efficient  

小さいリストcomprehensionの場合は高速で、長いリストの場合chain.from_iterableはより適しています。

[item for subl in m for item in subl]

ネストされた理解を理解するために、それを複数の行に分割し、通常のforループと比較することができます。

[item                         #result = []
    for subl in m             #for subl in m:  
        for item in subl]     #    for item in subl:
                              #        result.append(item)
于 2013-02-12T12:53:09.380 に答える