擅长:python、mysql、java
<p>你的密码没问题。我认为你要解决的问题是<code>if first_word_passed</code>看起来有点难看。</p>
<p>解决这个问题的一种方法是使用发电机。我们可以很容易地使第一个条目返回一件事,而所有后续条目返回另一件事。由于Python有一级函数,我们可以让生成器返回我们要用来处理每个单词的函数。</p>
<P>我们只需要使用<a href="http://www.python.org/dev/peps/pep-0308/">the conditional operator</a>,这样就可以处理在列表理解中由双下划线返回的空白条目。</p>
<p>因此,如果我们有一个单词,我们调用生成器以获取用于设置大小写的函数,如果我们没有,我们只使用<code>_</code>使生成器保持不变。</p>
<pre><code>def underscore_to_camelcase(value):
def camelcase():
yield str.lower
while True:
yield str.capitalize
c = camelcase()
return "".join(c.next()(x) if x else '_' for x in value.split("_"))
</code></pre>