2016-06-22 18 views
0

私はいくつかのヒントが必要です。私は正方形のリスト "y"を持っています( "y"はnxnサイズです)。これは一例です:リスト内の特定の行と列を削除するにはどうすればよいですか?

y=[[20,30,35,40], 
    [10,25,55,45], 
    [15,39,19,59], 
    [25,35,24,17]] 

私は別のリスト "×"( "x" はNX2サイズを持っている).Thisは一例であります。私は、リスト内で検索したい

x=[[1,1] 
    [2,0] 
    [3,0] 
    [4,1]] 

「× (リスト "x"の2番目の列に)表示されている場合は、数字が "1"になります。リスト "x"の2番目の列に数字 "1"が表示されている場合は、リスト "y"のそれぞれの行とそれぞれの列を削除します。上の例では、リスト "x"には、リスト "x"の最初の行と4つの行に数字 "1"が表示されています。次に、リスト "y"のそれぞれの行と列を削除する必要があります。

リスト "x"(上記の例で)の最初の行に "1"が表示されている場合、これは望ましいリスト "y"です(最初の行を削除して元のリストの最初の列を削除する必要があります「Y」):「1」がリストの3番目の行に表示されるため

y=[[25,55,45], 
     39,19,59], 
     35,24,17]] 

そして、「X」は、(上記の例)のために、これは(Iは第三の削除必要が「Y」は、所望のリストであります元のリスト "y"の3番目の列を削除してください)。

y=[ [25,45] 
     [35,17] 

ありがとうございます。

+2

これまでにどのようなコードを試しましたか? –

+2

"x"の3行目に "1"が表示されません。 –

+1

これは「私の宿題解決に役立つことができますか」というサイトではなく、「私の宿題をしてくれますか」サイト –

答えて

1

機能

def remove(a,i,j): 
    return [row[:j] + row[j+1:] for k,row in enumerate(a) if k != i] 

まだあなたが削除する行と列を正確にあいまいですが、あなたの述べられた質問(「どのように私は、リストから特定の行や列を削除することができます」)答えます。あなたのy、二行あなただけxを反復処理し、必要に応じて指数(01を計算する方法を把握する必要があり

>>> y 
[[25, 45], [35, 17]] 

>>> y = remove(y,0,0) 
>>> y = remove(y,1,1) 

結果の場合

この場合)。

関連する問題