hexes = [tuple(random.randint(0 , 255) for i in range(3)) for x in range(20)]
colours = ["rgb({0},{1},{2})".format(*c) for c in hexes]
['rgb(191,176,236)', 'rgb(112,0,217)', 'rgb(22,81,171)', 'rgb(47,213,128)', 'rgb(241,161,49)', 'rgb(43,151,80)', 'rgb(184,196,87)', 'rgb(192,102,194)', 'rgb(5,245,75)', 'rgb(68,113,126)', 'rgb(120,142,9)', 'rgb(206,229,146)', 'rgb(194,91,88)', 'rgb(199,139,192)', 'rgb(126,241,163)', 'rgb(212,42,95)', 'rgb(255,96,17)', 'rgb(204,72,7)', 'rgb(175,117,114)', 'rgb(73,89,138)']
# 随机生成32个0--255之间的随机整数
c = np.random.randint(0 , 255 , 32)
# 每次随机从 c 中取出 3 个随机整数格式化成 #三个十六进制的格式
# {:02x} 2表示将十六进制展示成2位 0表示如果不够两位前面用0填充 x表示格式化为十六进制
colours = ["#{:02x}{:02x}{:02x}".format(random.choice(c) , random.choice(c) , random.choice(c)) for x in np.arange(1 , 21 , 1)]
['#107915', '#2c6c63', '#9381e1', '#7ad3d9', '#151136', '#c7d9cd', '#6c2d93', '#e1792c', '#e11de1', '#0b2d10', '#39dd63', '#ddc77a', '#e1c410', '#8136c7', '#392de1', '#2d6c0b', '#2d6311', '#1093cd', '#9c10d3', '#d92cb5']