【发布时间】:2017-04-05 20:51:55
【问题描述】:
我正在 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 = {}移动到for循环中 -
FWIW,我可能会做类似
from random import randrange;[{'fill':{'color':'#%06X'%randrange(0x1000000)}}for _ in'...']的事情,但这只是我。 :)
标签: python python-2.7 dictionary for-loop