我有一个列表,它包含列表。内部列表可能是空的。这是结构:
[[],[a,b],[],[c],[d]]
我的代码:
for inner in list:
for char in inner:
print char # I want to add indexes of inner lists here
输出是:
abcd
我希望输出为:
2a2b4c5d
数字是内部列表的索引。有没有快速的方法来做到这一点?
请您参考如下方法:
请注意,你不应该使用 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
您看到 enumerate() 从零开始计数。你可以指定第二个参数作为开始,以匹配你基于一个的预期输出:
>>> for idx, inner in enumerate(lst, 1):
for char in inner:
print idx, char
2 a
2 b
4 c
5 d
但只有在必要时才这样做,python 按照惯例从 0 开始计数。
