2012-04-12 13 views
0

2番目のリスト(val)の値にアクセスするにはどうすればよいですか?Pythonヘルプのネストされたforループの値のリスト

colors = [('teal','30a8a0'),('pink','b33b96'),('red','de3249'),('green','758f3d'),('purple','532c86'),('darkblue','116da4'),('skyblue','1d9dc5')] 
darkblue=[('first'),('second')] 

for (color,value) in colors: 
    print color #teal, pink, red, etc... 
    for (val) in {color}: 
     print val #first, second, etc... 
+0

もし私があなたが正しく理解している、最初にあなたは、可変色から色を取得し、上記の色と同じ名前の変数に割り当てられたリストを反復処理したいですか? – Akash

+0

あなたが何をしたいのかがはっきりしない、あなたの希望する出力が何であるかを説明してください – luke14free

+0

また、間違ったデータ構造を使用していると思います。あなたはタプルのリストではなく、辞書を使うべきです – Akash

答えて

3

これはいかがですか?

subcolors = {'darkblue': ['first', 'second'], 
      'teal': ['first-teal', 'second-teal'], 
      'pink': ['first-pink', 'second-pink'], 
      # etc.. 
      } 

for (color,value) in colors: 
    print color #teal, pink, red, etc... 
    for val in subcolors[color]: 
     print val #first-teal, second-teal, first-pink, second-pink, etc... 

色をdictに入れることで、より簡単に色を取得し、それらの値を反復することができます。


あなたが本当にdarkblue変数からそれをしたいとあなたはこれを行うことができ、辞書を使用したくないが、私はそれをお勧めしません場合は、次の

darkblue = ['first', 'second'] 
teal = ['first-teal', 'second-teal'] 
pink = ['first-pink', 'second-pink'] 
# etc... 

for (color,value) in colors: 
    print color #teal, pink, red, etc... 
    for val in locals()[color]: 
     print val #first-teal, second-teal, first-pink, second-pink, etc... 
+0

ありがとうdhg、これはよりよい構造です。これはうまくいったが、私はこれを引用しなくてはならなかった:subcolors [color]の(val)のために: –

関連する問題