<p>如果您的<code>name</code>是<code>list of names</code>,那么您的代码应该可以正常工作,前提是您没有另一个循环包围该循环:-</p>
<p><strong>此操作有效</strong>:-</p>
<pre><code>>>> name = ['rohit', 'jain']
>>> for i,x in enumerate(name):
print (i, x)
(0, 'rohit')
(1, 'jain')
</code></pre>
<p><strong>但是,这是您得到的</strong>,其中可能有一个外部循环,在列表上迭代:-</p>
<pre><code>>>> name = ['rohit', 'jain']
>>> for name in name:
for i, x in enumerate(name):
print (i, x)
(0, 'r')
(1, 'o')
(2, 'h')
(3, 'i')
(4, 't')
(0, 'j')
(1, 'a')
(2, 'i')
(3, 'n')
</code></pre>
<hr/>
<p><strong>更新</strong>:-</p>
<p>你的<code>info_rest</code>实际上是一个一维列表:</p>
<pre><code>for k,v in l_final:
info_rest = v[0][:5]+v[0][5:]
</code></pre>
<p>上面的代码给出了二维列表中的一维列表<code>v</code>:-</p>
<pre><code>>>> v = [['rohit', 'jain'], ['a', 'ab']]
>>> info_rest = v[0][:5]+v[0][5:]
>>> info_rest
['rohit', 'jain']
</code></pre>
<p>所以,当你说:</p>
<pre><code>name = info_rest[0]; # name contains 'rohit;
</code></pre>
<p>你的名字将包含一个字符串而不是一个列表。-<code>'rohit'</code>在这种情况下</p>
<p>所以,与其重复你的名字:</p>
<pre><code>for i, w in enumerate(name):
print (i,w)
</code></pre>
<p>打印出来吧:</p>
<pre><code>print (k, name) # k is the index from outer loop
</code></pre>