2017-06-05 14 views
0

私はテーブルに関するデータを含むpython dictを持っています。python dictを動的に更新する正しい方法

table_dict = {'0': {'column_metadata': '...', 
        'cells':[[cell1_url],[cell2_url]] 
        }, 
       '1': {'column_metadata': '...', 
        'cells':[[cell1_url],[cell2_url]] 
        } 
      } 

ここでキーはカラムである位置、すなわち0は最初の列、1手段第二 上のように、各列は、リストのリストであるキー細胞有する内部辞書を有しています。

私はurlからセルの値を取得し、それを同じリストに戻すためにこのdictを繰り返します。このコードで

for key, column in table_dict: 
    for cell in column['cells']: 
     cell_value = get_cell_data(cell1_url) 
     column['cells'].append(cell_value) 

私は

table_dict = {'0': {'column_metadata': '...', 
        'cells':[[cell1_url, cell1_data], 
          [cell2_url, cell2_data] 
          ] 
        }, 
       '1': {'column_metadata': '...', 
        'cells':[[cell1_url, cell1_data], 
          [cell2_url, cell2_data] 
          ] 

として、最終的な辞書を得る私は辞書にデータを追加する任意のキーを削除しません。

これが正しい方法ですか。 dictを反復し、同じに追加します。

この問題にアプローチする方法はありますか?私は仮定あなたの説明から、

+0

ですか?私は問題を正確に理解していません。 – crazyglasses

+1

[ask]と[MCVE]を見てください。あなたが何を求めているのか、何が起こるのかはあなたが望むかどうかなどは分かりません。 – pvg

+0

@crazyglassesはい私は結果を達成することができますが、私はそれが正しい方法です。同じディクテーションを繰り返して、ある値に追加してください。 –

答えて

0

、あなたはこのリスト内のcolumn['cells']になく、リストに何かを追加する必要はありません:あなたは、あなたが望んでいるものを達成することができ

for column in table_dict.values(): 
    for cell in column['cells']: 
     cell_url = cell[0] 
     cell.append(get_cell_data(cell_url)) 
関連する問題