2017-01-04 10 views
0

タプルであると仮定したRGB値の長いリストがあります。タプルのR、G、Bの各値に別々にアクセスしたいと思います。だから私は簡単な操作でそれらをc、m、y、kに変換できます。ありがとうございました。カラーRGBタプルのリストの分離

私のコード:(編集)

rgb = [(255,0,255), (55,0,55), (34,33,87)] 
c,m,y,k = ([] for i in range(4)) 

for item in rgb: 
    cyan = zip(*rgb)[0] 
    mag = zip(*rgb)[1] 
    yellow = zip(*rgb)[2] 
    # of course the above zip operations return a non-iterable error 


    c.append(cyan) 
    m.append(mag) 
    y.append(yellow) 
+0

'rgb_list'は、リスト内のRGB値のタプルのタプルです。 rwb_list = [(255,0,255)、(55,0,55)、(34,33,87)] ' –

+0

' print() 'を使って、それをタプルのリストにするには、コードのすべての要素を確認してください。あなたがエラーを受け取ったら、なぜそれを質問に入れなかったのですか?私たちがエラーを見るためにコードを実行するとは思わないでください。 – furas

+0

'rgb_list'はタプルのリストではなく、3つのタプルを含む1つのタプルを含むリストです。また、2行目に構文エラーがあります。 – jDo

答えて

0

あなたが本当にリスト

rgb_list = [((255,0,255), (55,0,55), (34,33,87))] 

を持っているなら、あなたは唯一の

for r, g, b in rgb_list[0]: 
    print('r/g/b:', r, g, b) 

結果必要があります。

r/g/b: 255 0 255 
r/g/b: 55 0 55 
r/g/b: 34 33 87 

あなたが唯一の赤、緑、青

all_reds, all_greens, all_blues = list(zip(*rgb_list[0])) 
print('reds:', all_reds) 
print('greens:', all_greens) 
print('blues:', all_blues) 

結果でリストを作成する必要がある場合:

reds: (255, 55, 34) 
greens: (0, 0, 33) 
blues: (255, 55, 87) 
関連する問題