Ответ 1
оператор for
выполняет итерацию по итерабельному - в случае списка он перебирает содержимое по одному, поэтому на каждой итерации доступно одно значение.
При использовании for index, item in list:
вы пытаетесь распаковать одно значение на две переменные. Это будет работать с for key, value in dict.items():
, который выполняет итерации по клавишам/значениям dicts в произвольном порядке. Поскольку вам, похоже, нужен числовой индекс, существует функция enumerate()
, которая получает значение итерабельного, а также индекс для него:
for index, item in enumerate(outputList1):
pass
edit: так как в заголовке вашего вопроса упоминается "список списков", я должен указать, что при повторении списка список распаковки более чем одной переменной будет работать, если каждый элемент списка сам является итерируемым. Например:
list = [ ['a', 'b'], ['c', 'd'] ]
for item1, item2 in list:
print item1, item2
Это выведет:
a b c d
как ожидалось. Это работает аналогично тому, что делает dicts, только вы можете иметь два, три или несколько элементов в содержащихся списках.