学习索引的"for-in循环"

Rck*_*ckt 1 python

我有一个列表,它包含列表.内部列表可能是空的.这是结构:

[[],[a,b],[],[c],[d]]
Run Code Online (Sandbox Code Playgroud)

我的代码:

for inner in list:
   for char in inner:
      print char           # I want to add indexes of inner lists here
Run Code Online (Sandbox Code Playgroud)

输出是:

abcd
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

2a2b4c5d
Run Code Online (Sandbox Code Playgroud)

数字是内部列表的索引.有快速的方法吗?

ch3*_*3ka 8

请注意,您不应将其list用作变量名,因为它shadows是内置list类型.

>>> lst = [[],['a','b'],[],['c'],['d']]
>>> for idx, inner in enumerate(lst):
      for char in inner:
        print idx, char


1 a
1 b
3 c
4 d
Run Code Online (Sandbox Code Playgroud)

你看,这enumerate()是从零开始的.您可以指定第二个参数作为开始,以匹配基于一个的预期输出:

>>> for idx, inner in enumerate(lst, 1):
    for char in inner:
        print idx, char


2 a
2 b
4 c
5 d
Run Code Online (Sandbox Code Playgroud)

但只有在必要时才这样做,python按惯例计数0.