簡體   English   中英

為什么對象在列表中占據最后一個值?

[英]Why object is taking last value in list?

為什么對象在列表中占用最后一個值

ddd = [1,2]
master_list = []
for ridx in range(1):
    row_list = [] ; row_data = {} ; header_dic = {} ; 
    header_dic['background-color'] = 'green'
    row_list.append(header_dic)
    for metric_id in range(2):
        row_data['background-color'] = ddd[metric_id]
        row_list.append(row_data)
    master_list.append(row_list)

print(master_list)  

輸出來了:

[[{'background-color': 'green'}, {'background-color': 2}, {'background-color': 2}]]

預期產量:

[[{'background-color': 'green'}, {'background-color': 1}, {'background-color': 2}]]

只需在內循環中移動row_data即可。

ddd = [1,2]
master_list = []
for ridx in range(1):
    row_list = [] ; header_dic = {} ; 
    header_dic['background-color'] = 'green'
    row_list.append(header_dic)

    for metric_id in range(2):
        row_data = {} 
        row_data['background-color'] = ddd[metric_id]
        row_list.append(row_data)
    master_list.append(row_list)

print(master_list)  

你會得到預期的輸出:

[[{'background-color': 'green'}, {'background-color': 1}, {'background-color': 2}]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM