我使用颜色包创建渐变颜色,如下所示:
from colour import Color
orange = Color("#e65318")
turquoise = Color("#3297A5")
palette_list = list(orange.range_to(turquoise,10))
输出是一个列表,如下所示:
[<Color #e65318>, <Color #de911b>, <Color #d7c71f>, <Color #a7cf22>, <Color #6fc825>, <Color #3dc128>, <Color #2bb944>, <Color #2db36f>, <Color #30ac94>, <Color #3297a5>]
我真正想要的是:
['#e65318', '#de911b', '#d7c71f', '#a7cf22', '#6fc825', '#3dc128', '#2bb944', '#2db36f', '#30ac94', '#3297a5']
到目前为止,我已经尝试了ai_palette_list.remove('Color')
返回ValueError: list.remove(x): x not in list
。
我认为这是一个非常普遍的问题,但似乎无法找到任何理智,系统的方法来删除“颜色”这个词。并返回一个字符串。
答案 0 :(得分:6)
这个列表理解应该实现:
[c.hex for c in palette_list]
正如@LeopoldVonBuschLight指出的那样,你拥有的是一个Color对象列表,这个列表理解获得每个对象的.hex值并将其放入一个列表中。
答案 1 :(得分:1)
您要打印的列表是对象列表,而不是字符串; <Color #e65318>
是一个Color对象。从文档中看,您可以使用hex
或hex_l
获取十六进制表示:https://pypi.python.org/pypi/colour