<p>通过查看Python解释器中的Python代码片段,您可以经常了解Python代码正在做什么:</p>
<pre><code>>>> vars_of_interest
('AA_PYTHON', 'GG_POST_DEV_ELMO', 'GG_DEBUG_ELMO')
>>> import os
>>> [(var, os.getenv(var, 0)) for var in vars_of_interest]
[('AA_PYTHON', 0), ('GG_POST_DEV_ELMO', 0), ('GG_DEBUG_ELMO', 0)]
>>> env = dict((var, os.getenv(var, 0)) for var in vars_of_interest)
>>> env
{'AA_PYTHON': 0, 'GG_DEBUG_ELMO': 0, 'GG_POST_DEV_ELMO': 0}
</code></pre>
<p>^{cd1>}使^{cd2>}a<code>dict</code>。如果您不确定对象是什么,可以始终询问对象的类型:</p>
^{pr2}$
<p>A^{cd3>}是键和值之间的映射。
在这种情况下,^{cd2>}是字符串(例如^{cd6>})和值(例如^{cd7>})之间的映射。</p>
<p>^{cd8>}是<a href="http://docs.python.org/reference/expressions.html#generator-expressions" rel="nofollow">generator expression</a>中使用的临时变量</p>
^{pr3}$
<p>生成器表达式中的^{cd9>}告诉Python在元组^{cd10>}中迭代项目,并在循环中迭代时逐个将值分配给^{cd8>}。
生成器表达式是迭代器。迭代器为每个^{cd8>}生成^{{cd12>}的值。</p>
<p>表达式^{cd12>}是一个元组,可以被认为是一对键值。^{cd8>}是键,^{{cd16>}是值。<a href="http://docs.python.org/2/library/os.html#os.getenv" rel="nofollow">os.getenv</a>查找环境变量^{cd8>}(例如^{cd6>}),如果环境变量存在,则返回环境变量的值,否则返回0。</p>
<p>当^{{cd3>}被传递时,键值对的迭代器将被传递,就像表达式中所做的那样</p>
^{pr4}$
<p>它返回^{cd3>}将给定的键映射到给定值。</p>
<p>请参见此处获取<a href="http://docs.python.org/2/tutorial/datastructures.html#dictionaries" rel="nofollow">more information on Python dicts</a>。</p>