擅长:python、mysql、java
<pre><code>list_orbited_planet = ["Earth", "Mars", "Pluto", "Uranus"]
low = ["Earth", "Mars", "Mars", "Uranus"]
high = ["Pluto", "Pluto", "Uranus"]
entities = {'low': low, 'high': high}
listPlanets = []
for i in range(len(list_orbited_planet)):
newEntities = dict()
newEntities['low'] = low.count(list_orbited_planet[i])
newEntities['high'] = high.count(list_orbited_planet[i])
orbited_planet = {list_orbited_planet[i]: newEntities}
print(orbited_planet)
listPlanets.append(orbited_planet)
print(listPlanets)
</code></pre>
<p>由于您的<code>entities</code>在每个循环中都被引用,因此它们实际上是在操作存储在同一地址中的同一变量。因此,只需声明一个新变量即可避免这种行为</p>
<p>输出:</p>
<pre><code>{'Earth': {'low': 1, 'high': 0}}
{'Mars': {'low': 2, 'high': 0}}
{'Pluto': {'low': 0, 'high': 2}}
{'Uranus': {'low': 1, 'high': 1}}
[{'Earth': {'low': 1, 'high': 0}}, {'Mars': {'low': 2, 'high': 0}}, {'Pluto': {'low': 0, 'high': 2}}, {'Uranus': {'low': 1, 'high': 1}}]
</code></pre>