0
我有RGB
這些3個頂點(端值)作爲#ff0000
,#ffcfcf
和#350000
其中R
變化從35
到ff
,G
從00
到cf
和B
從00
到cf
十六進制代碼的列表。我需要創建它們之間所有可能值的列表。我做了以下:創建的給定一個RGB範圍
import re
my_list=[]
for i in xrange(53,256):
for j in xrange(0,208):
for k in xrange(0,208):
item = str(hex(i))+str(hex(j))+str(hex(k))
item2 = re.sub('(0x)','',item)
my_list.append(item2)
我遍歷整數值,並將它們轉換爲十六進制,隨後通過連接RGB
值,並從串聯的字符串替換0x
(不工作)。這種方法很慢。有一個更好的方法嗎?
太棒了,它的工作原理..最後一個應該實際上被分配給一個變量而不是返回,對嗎?你能解釋一下{0:02x}做什麼嗎? –
@Swordy是的,謝謝,我已經改變了。之前的迴歸是因爲我將所有版本都作爲函數來進行基準測試。而「{0:02x}」是格式字符串。你可以閱讀更多關於他們[這裏](https://docs.python.org/2/library/string.html#format-string-syntax); [該頁面上的示例](https://docs.python.org/2/library/string.html#format-examples)對於新手對他們特別有用。基本上,它說:「採取格式方法的第一個參數(基於0)並將其打印爲十六進制數('x'),並將零置於前面,使其至少有2個字符長('02')。 「_ – Carsten