Skip to main content
 首页 » 编程设计

python之使用 for 循环的字典中的字典列表

2025年05月04日10rubylouvre

我正在用 python 为 xlsxwriter 创建一个随机颜色

import random 
point = [] 
dict1 = {} 
for row_count in range(3): 
 
    fill = { 
    "color": '#' + ''.join([random.choice('0123456789ABCDEF') for x in range(6)]), 
} 
    dict1['fill'] = fill 
    print fill 
    point.append(dict1) 
print point 

预期输出

[{'fill': {'color': '#8C4372'}}, {'fill': {'color': '#5EF546'}}, {'fill': {'color': '#386CF4'}}] 

实际输出

{'color': '#8C4372'} 
{'color': '#5EF546'} 
{'color': '#386CF4'} 
[{'fill': {'color': '#386CF4'}}, {'fill': {'color': '#386CF4'}}, {'fill': {'color': '#386CF4'}}] 

如何解决这个问题。

提前致谢

请您参考如下方法:

您对所有填充对象使用相同的字典 dict1,每次将其添加到点时创建一个新字典:

import random 
point = [] 
for row_count in range(3): 
    fill = { 
        "color": '#' + ''.join([random.choice('0123456789ABCDEF') for x in range(6)]), 
    } 
    point.append({"fill": fill})