Это зависит от того, хотите ли вы новый список или измените старый список:
- [l.insert (0, str (i)) для i, l в перечислении (docs)]
- [l.insert (0, str (i)) или l для i, l в перечислении (docs)]
- [[str (i)] + docs [i] для i вrange (len (docs))] *
Это приведет к изменению старого списка, но только в качестве побочного эффекта возвращаемый список неверен:
>>> x = [['a'],['b']]
>>> [ l.insert(0,str(i)) for i,l in enumerate(x)]
[None, None]
>>> x
[['0', 'a'], ['1', 'b']]
Это можетбыть исправлено:
>>> x = [['a'],['b']]
>>> [ l.insert(0,str(i)) or l for i,l in enumerate(x)]
[['0', 'a'], ['1', 'b']]
>>> x
[['0', 'a'], ['1', 'b']]
>>>
или можно создать новый список без изменения старого списка:
>>> y = [['a'],['b']]
>>> [ [str(i)]+y[i] for i in range(len(y))]
[['0', 'a'], ['1', 'b']]
>>> y
[['a'], ['b']]