擅长:python、mysql、java
<p>我认为更具Python式的方法是使用一个显式循环,就像你在最初的问题中所做的那样。请看这里的问题:<a href="https://stackoverflow.com/questions/9474412/python-alternative-to-reduce">Python alternative to reduce()</a></p>
<p>根据链接的答案:
Guido建议不要使用<code>reduce()</code>,并解释了为什么在python3.x的链接<a href="http://www.artima.com/weblogs/viewpost.jsp?thread=98196" rel="nofollow">blog post</a>中将其移动到<code>functools</code>。在</p>
<p>相反,他建议做一些类似的事情:</p>
<pre><code>def get_from_dict(data_dict, map_list):
for key in map_list:
data_dict = data_dict[key]
return data_dict
def set_in_dict(data_dict, map_list, value):
data_dict = get_from_dict(data_dict, map_list[:-1])
data_dict[map_list[-1]] = value
</code></pre>
<p>因为事情更清楚了。在</p>