0

この方法でリストを反復する関数を作成するにはどうすればよいですか。単純に思えますが、私は立ち往生しています...

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

    def name(myList):
        somework..

    newList = [[1,4,7]. [ 2,5,8], [3,6,9]]
4

2 に答える 2

3
In [3]: zip(*myList)
Out[3]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

特にリストが必要な場合

In [4]: [list(x) for x in zip(*myList)]
Out[4]: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

zip関数の詳細については、これを見てください

于 2013-02-15T04:27:21.740 に答える
2

zipあなたが望むもの+引数のアンパックです。それは素晴らしいです。私はそれを python の組み込み転置と考えるのが好きです。

newList = zip(*myList)

これにより、実際には反復可能な (python3.x) またはlist(python2.x) のが得られますtupleが、ほとんどの目的にはこれで十分です。

于 2013-02-15T04:27:23.627 に答える