2017-12-27 31 views
-2

I次のようなデータ構造を持っている:は、リスト構造のリストに同じ項目の特定の位置を反転

私はリスト、単に数値のこのリスト内のすべての項目に特定のインデックス位置を反転する必要が
pool = [[[0,0,0,0,0,0,0,0],"ze","Zero"], 
[[0,0,3,0,3,0,0,0],"bd","BasicDilemma"], 
[[0,0,3,2,3,0,0,2],"lk","LowLock"], 
[[0,1,3,2,0,3,1,2],"DlCo",""], 
[[0,1,3,2,0,3,2,1],"DlPc",""], 
[[0,1,3,2,1,3,0,2],"DlAs",""], 
[[0,1,3,2,1,3,2,0],"DlHa",""], 
[[0,1,3,2,2,3,0,1],"DlSh",""], 
[[0,1,3,2,2,3,1,0],"DlNc",""]] 

def ListFlip (pool): 
    for game in range (0, len(pool)): 
     game[0][2], game[0][3] = game[0][3], game[0][2] 
     game[0][6], game[0][7] = game[0][7], game[0][6] 
    return (pool) 

構造は次のようになります。だから、

[0,1,2,3,4,5,6,7] -> [0,1,3,2,4,5,7,6] 

全ての項目について、私は例えば位置[2] and [3]、および[6] and [7]

を反転する必要があります。

[[0,1,3,2,0,3,1,2],"DlCo",""] -> [[0,1,2,3,0,3,2,1],"DlCo",""] 

私はこれが思いましたそれを行う方法ですが、それは動作しません。誰かが私が間違っていることを知っていますか?

ありがとうございます!

+0

。 「フリッピングのルール」とは何ですか?あなたの例では、いくつかの要素が反転されていましたが、いくつかの要素は反転していませんでした。あなたはあらゆる位置を反転させませんでした...そして、 "それをやる方法" –

+0

リスト内の要素は独自の構造を持ち、何も反転しません。私は言及された位置の項目を反転する必要があるので、ルールは2for3と6for7だけのインデックスです。私が試した方法は、この 'ListFlip()'関数です。 – vferraz

答えて

1

このライン:

for game in range (0, len(pool)): 

は次のようになります。インデックスgame[0][2]がここに無効であるように、第1として、

for game in pool: 

は、プール内の各ゲームのインデックスを取得します。

あなたのコードは現在正常に動作します:

pool = [[[0,0,0,0,0,0,0,0],"ze","Zero"], 
     [[0,0,3,0,3,0,0,0],"bd","BasicDilemma"], 
     [[0,0,3,2,3,0,0,2],"lk","LowLock"], 
     [[0,1,3,2,0,3,1,2],"DlCo",""], 
     [[0,1,3,2,0,3,2,1],"DlPc",""], 
     [[0,1,3,2,1,3,0,2],"DlAs",""], 
     [[0,1,3,2,1,3,2,0],"DlHa",""], 
     [[0,1,3,2,2,3,0,1],"DlSh",""], 
     [[0,1,3,2,2,3,1,0],"DlNc",""]] 

def ListFlip(pool): 
    for game in pool: 
     game[0][2], game[0][3] = game[0][3], game[0][2] 
     game[0][6], game[0][7] = game[0][7], game[0][6] 

    return pool 

print(ListFlip(pool)) 

どの出力:私はまだ、最終的なフォーマットを取得していない

[[[0, 0, 0, 0, 0, 0, 0, 0], 'ze', 'Zero'], 
[[0, 0, 0, 3, 3, 0, 0, 0], 'bd', 'BasicDilemma'], 
[[0, 0, 2, 3, 3, 0, 2, 0], 'lk', 'LowLock'], 
[[0, 1, 2, 3, 0, 3, 2, 1], 'DlCo', ''], 
[[0, 1, 2, 3, 0, 3, 1, 2], 'DlPc', ''], 
[[0, 1, 2, 3, 1, 3, 2, 0], 'DlAs', ''], 
[[0, 1, 2, 3, 1, 3, 0, 2], 'DlHa', ''], 
[[0, 1, 2, 3, 2, 3, 1, 0], 'DlSh', ''], 
[[0, 1, 2, 3, 2, 3, 0, 1], 'DlNc', '']] 
+0

ありがとう、私はいつでもすぐにこれを見つけることはできないと思います! – vferraz

+0

問題はなく、リスト自体ではなくインデックスを取得していただけです。 – RoadRunner

関連する問題