同じ名前の値を持つ辞書を作成しようとしています。例えば、 mylistキーの値が['a'、 'b']である必要があります 次のコードは、リストを正しい名前に置き換えられません。forループのローカルスコープとグローバルスコープ
mylist=['a', 'b']
yourlist=['x', 'y']
pw=dict()
for mysheet in ('mylist', 'yourlist'):
pw[mysheet] = mysheet
pw
{'mylist': 'mylist', 'yourlist': 'yourlist'}
# expected result
#{'mylist': ['a', 'b'] , 'yourlist': ['x', 'y']}
forループには、機能と同じようにローカルスコープとグローバルスコープがありますか?
何をしようとしていますか?文字列の組をforループに実際に渡しています。 – Prajwal
@karthikrいいえ、OPが望むものではありません。 OPに:あなたは何を期待するのでしょうか?ループ内の 'mysheet'は、リストではない文字列を参照します。 – Li357
[名前の解決](https://docs.python.org/3.5/reference/executionmodel.html#resolution-of-names)を参照してください。 *名前がコードブロックで使用されている場合は、最も近い囲みスコープを使用して解決されます* – Li357