擅长:python、mysql、java
<p>通过使用<code>+=</code>运算符,可以将字符串中的每个项附加到<code>batch_list</code>。因此,避免断开字符串的一种方法是将其包装在一个列表中。你知道吗</p>
<pre><code>batch_list = []
for i in zip('ABCD', range(1,5)):
batch_list += [i[0] + str(i[1])]
print(batch_list)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>['A1', 'B2', 'C3', 'D4']
</code></pre>
<p>顺便说一句,使用<code>list.append</code>和<code>list.extend</code>方法通常比使用<code>+=</code>更好。虽然使用<code>+=</code>的代码较短,但使用这些方法会使代码更具可读性,但也有其他好处,比如可以改变全局列表,尽管有些人可能会认为无论如何都不应该这样做。;)</p>
<hr/>
<p>但是有更好的方法来写这个。你知道吗</p>
<p>您可以使用列表理解,让<code>.format</code>方法将字母和数字结合起来,这样就不需要显式调用<code>str</code>构造函数。你知道吗</p>
<pre><code>batch_list = ['{}{}'.format(*u) for u in zip('ABCD', range(1, 5))]
</code></pre>
<p>另一种选择是使用<code>enumerate</code>,而不是使用<code>range</code>压缩。<code>enumerate</code>函数允许您提供起始数字,而不是使用默认的起始数字0。你知道吗</p>
<pre><code>batch_list = ['{}{}'.format(v, i) for i, v in enumerate('ABCD', 1)]
</code></pre>
<p>这可能是最有效的方法,除非您有Python 3.6,在这种情况下,您可以使用f字符串来进行格式化:</p>
<pre><code>batch_list = [f'{v}{i}' for i, v in enumerate('ABCD', 1)]
</code></pre>