擅长:python、mysql、java
<p>我最初的反应是将列表扩展和“填空”分成不同的部分:</p>
<pre><code>for i, v in enumerate(my_list):
my_list[i] = v or "Choice %s" % (i+1)
for j in range(len(my_list)+1, 10):
my_list.append("Choice %s" % (j))
# maybe this is nicer for the extension?
while len(my_list) < 10:
my_list.append("Choice %s" % (len(my_list)+1))
</code></pre>
<p>如果您坚持使用<code>try...except</code>方法,那么一定要捕捉到<a href="https://stackoverflow.com/questions/516039/most-pythonic-way-to-extend-a-potentially-incomplete-list/516070#516070">Douglas</a>所示的特定异常。否则,您将捕获<strong>所有内容</strong>:<code>KeyboardInterrupts</code>,<code>RuntimeErrors</code>,<code>SyntaxErrors</code>。你不想那样做。在</p>
<p><strong>编辑:</strong>修复了1索引列表错误-谢谢<a href="https://stackoverflow.com/users/51025/dns">DNS</a>!在</p>
<p><strong>编辑:</strong>添加了备选列表扩展名</p>