セットアップチェックは、その後にキーの値を割り当てる変数
私はScrapyと掻きプロジェクトに取り組んでいます。
私は文字列のリストを持って、
l = ['john', 'jim', 'jacob', … ,'jonas']
とリストを含む辞書、
d = {
'names1': ['abel', 'jacob', 'poppy'],
'names2': ['john', 'tom', 'donald']
}
問題
私は中にそれぞれの名前をチェックしたいのですがのリストの1つに含まれている。もしそうなら、d
のそのリストのキーを新しい変数に代入したいと思います。例えば。 jacob
はnewvar = names1
となります。私は今のところ
、
found = False
for key,value in d.items():
for name in l:
if name == value:
newvar = key
found = True
break
else:
newvar = 'unknown'
if found:
break
しかし、これはl
内のすべてのname
ためnewvar = 'unknown'
になります。
私は外側for
ループを正しく破らないと思います。それ以外に、おそらく私の問題を解決するためのよりエレガントな方法はありますか?
本当にこれを実行してもよろしいですか?毎回作成する新しい変数を意味します。 – Elmex80s
はい、これはScrapyのスパイダーの一部です:後で辞書に 'newvar'を割り当てます。 – LucSpan
'if name == value'を' if name in value'に変更することはできますか?または私はこれを間違って読んでいますか?なぜなら、私には値が好きで、リストがあり、単一の名前ではないように思えるからです。 – Marcy