擅长:python、mysql、java
<p>最好的解决方案是使用字典来保存名称对象对:</p>
<pre><code>earth = makeWorld()
names = ['Bill', 'Fred']
turtles = {} # empty dictionary
for name in names:
turtles[name] = makeTurtle(earth)
</code></pre>
<p>现在可以使用<code>turtles</code>字典访问任何命名对象:</p>
<pre><code>turtles['Bill'].do_something()
</code></pre>
<p>您还可以使用“dict comprehension”构造字典,而不是将其创建为空并将海龟添加到显式循环中:</p>
<pre><code>turtles = { name: makeTurtle(earth) for name in names }
</code></pre>
<p>另一方面,使用<code>list</code>作为变量名是个坏主意,因为这会隐藏内置列表类型。虽然您通常可以在一个简短的函数中侥幸逃脱,但如果您在模块的顶层执行此操作,则可能会导致非常混乱的错误。你知道吗</p>