2017-06-05 22 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獲取單元格值,然後將其附加回相同的列表。

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] 
          ] 

我不會刪除任何鍵只是將數據添加到字典。

這是正確的方法。迭代字典,然後追加到相同。

有沒有更好的方法來解決這個問題?

+0

你能達到你想什麼呢?我不完全明白這個問題。 – crazyglasses

+1

看看[問]和[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)) 
相關問題