7
>>> x = 'foo'
>>> {0: locals().get('x')}
{0: 'foo'}
>>> {0: locals().get('x' + spam) for spam in ['']}
{0: None}
這種行爲差異的原因是什麼?在dict理解中的Python範圍界限
>>> x = 'foo'
>>> {0: locals().get('x')}
{0: 'foo'}
>>> {0: locals().get('x' + spam) for spam in ['']}
{0: None}
這種行爲差異的原因是什麼?在dict理解中的Python範圍界限
詞典的理解和生成器理解創建自己的本地範圍。列表解析不在Python 2.x中,而在Python 3中。(請注意,第一個示例不是dict理解,它只是一個字面詞典,恰好有一個表達式作爲鍵值0的表達式。)