擅长:python、mysql、java
<pre><code>>>> s = '01234567'
>>> sum(map(int, s[1::2]))
16
</code></pre>
<p>其工作原理如下:</p>
<p><code>s[1::2]</code>从索引<code>1</code>开始,到字符串末尾,步进<code>2</code>,取字符串的一部分。有关切片的更多信息,请参见Python教程的<a href="http://docs.python.org/tutorial/introduction.html#strings" rel="nofollow">Strings</a>部分。在</p>
<p><a href="http://docs.python.org/library/functions.html#map" rel="nofollow">^{<cd4>}</a>接受一个函数和一个<a href="http://docs.python.org/glossary.html#term-iterable" rel="nofollow">iterable</a>(字符串是可编辑的),并将函数应用于每个项,返回结果列表。这里我们使用<code>map</code>将每个字符串数字转换为<code>int</code>。在</p>
<p><a href="http://docs.python.org/library/functions.html#sum" rel="nofollow">^{<cd7>}</a>接受iterable并对其求和。在</p>
<p>如果要在不使用<code>sum</code>和<code>map</code>内置函数的情况下执行此操作,并且不使用切片,并且使用显式for循环:</p>
^{2}$