2016-06-23 13 views
1

私は、配列を持っていると言う:配列の配列でキーを反復処理する方法は?

products = [['product_1','description 1'],['product_2','description 2']] 

そして私は、キー、例えばに対する入力を確認したい、:

product = raw_input('Enter product: ') 
if product not in products.keys(): 
    log.fatal('Invalid product: {}'.format(product)) 
    exit(1) 

keys()は動作しません - 私は何をやっている必要がありますか。?

答えて

2

リストは、あなただけの各サブリストの最初の要素をしたい...鍵を持っていけない

dict(products).keys() #ONLY if there is exactly 2 items per sublist 

または

zip(*products)[0] #any number of items per sublist is ok 

または

[k for k,val in products] # only if you have EXACTLY 2 items per sublist 

または

[item[0] for item in products] # any number of items in each sublist 
2

keysは、listの方法ではありません。あなたはdictを考えなければなりません。ちょうど:

products = {k: v for k, v in [['product_1','description 1'],['product_2','description 2']]} 
+0

あなたのリストに直接 "dict"を呼び出すだけで...良い答えはすべて同じ –

関連する問題