我有一个列表:
a = [[6, 8, 12, 15], [2, 5, 13], [1], [5], [6, 15]]
我想将内部列表中的所有值替换为它们的序号值,例如:
b = [[0, 0, 0, 0], [1, 1, 1], [2], [3], [4, 4]]
我试过这个:
for jj in a:
for uu in range(0, len(jj)):
for k,q in enumerate(a):
jj[uu] == k
它没有输出我想要的列表。我怎样才能做到这一点?
请您参考如下方法:
这是您想要的输出吗?
In [1]: a = [[6, 8, 12, 15], [2, 5, 13], [1], [5], [6, 15]]
In [2]: b = [[idx] * len(sublist) for idx, sublist in enumerate(a)]
In [3]: b
Out[3]: [[0, 0, 0, 0], [1, 1, 1], [2], [3], [4, 4]]
这个答案也比使用 range(len(a)) 的版本更 Pythonic。
