擅长:python、mysql、java
<p>您有一个列表<code>l</code>,它正好包含一个元素(这个元素正好是另一个列表,但在这里这不是很相关),因此:</p>
<pre><code>l[0] # WORKS: this is the first item in the list
l[1] # INVALID: there is no item here, so it raised an IndexError
</code></pre>
<p>这是其他人都在说的基本答案,我只是想说得非常清楚。请特别注意,Python列表是用第一个元素在<code>0</code>而不是<code>1</code>编制索引的,因此长度为1的列表在索引0处只有一个元素。在</p>
<p>一种更容易自己识别问题的方法是将使用的复合行拆分为两行这是一种常见的调试方法,通常非常有用:</p>
^{pr2}$
<p>在这里,回溯将更清楚地指出问题所在。在</p>
<p>(顺便说一句,我不同意dpkp使用“defaultlist”的建议,因为我认为这是一个对于初学者问题来说过于复杂、非标准和高级的解决方案。相反,如果您想解决这个问题的方法,即自动创建一个要附加到的列表,请将其作为一个单独的问题发布,并详细说明您为什么需要它,我认为您可能希望使用整型键的<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow">defaultdict</a>,但这应该等待完整的问题。)</p>