擅长:python、mysql、java
<p>首先,您建议的代码使用<code>i</code>来表示两个不同的东西。如果有的话,应该是:</p>
<pre><code> for l in self.letterWord[i:i+1]:
if l == letter:
self.binaryWord[i]=1
</code></pre>
<p>但同时,自荐信[0:1]将只包含一个项:自荐信[0]。如果超出范围就什么都没有。所以你根本不需要这些for循环。在</p>
^{pr2}$
<p>您将其更改为使用i作为索引;这是否意味着存在一个外部循环?如果你在字母单词的长度上循环,你不需要我添加的长度检查。在</p>
<pre><code>for i in range(len(self.letterWord)):
if self.letterWord[i] == letter:
self.binaryWord[i] = 1
</code></pre>
<p>此外,循环访问列表的索引不是最佳实践,如果需要索引,请使用<code>enumerate</code>。在</p>
<pre><code>for i, l in enumerate(self.letterWord):
if l == letter:
self.binaryWord[i] = 1
</code></pre>
<p>如果您现在正在创建binaryWord(您没有展示它是如何创建的),您可以将其创建为一个列表理解:</p>
<pre><code>self.binaryWord = [int(l == letter) for l in self.letterWord]
# int(True) is 1, int(False) is 0
</code></pre>