Python:操作Color对象列表?

时间:2017-11-15 14:29:42

标签: python string

我使用颜色包创建渐变颜色,如下所示:

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

我认为这是一个非常普遍的问题,但似乎无法找到任何理智,系统的方法来删除“颜色”这个词。并返回一个字符串。

2 个答案:

答案 0 :(得分:6)

这个列表理解应该实现:

[c.hex for c in palette_list]

正如@LeopoldVonBuschLight指出的那样,你拥有的是一个Color对象列表,这个列表理解获得每个对象的.hex值并将其放入一个列表中。

答案 1 :(得分:1)

您要打印的列表是对象列表,而不是字符串; <Color #e65318>是一个Color对象。从文档中看,您可以使用hexhex_l获取十六进制表示:https://pypi.python.org/pypi/colour