Проблема вашего подхода заключается в том, что вы используете два отдельных цикла for
, когда вы действительно хотите выполнять итерацию по обоим спискам одновременно.Для этих случаев подойдет zip
.Это позволяет объединять несколько итераций.Таким образом, вы можете вместо этого сделать:
result = []
for i,j in zip(numbers, groups):
result.append([i]+j)
print(result)
# [[1, 'a', 'b', 'c'], [2, 'a2', 'b2', 'c2']]
Для более краткого решения вы можете использовать сжатие списка, чтобы добавить элементы из обоих списков (обратите внимание, что элементы в numbers
должны быть обращены ксписки):
[[i]+j for i,j in zip(numbers, groups)]
Вывод
[[1, 'a', 'b', 'c'], [2, 'a2', 'b2', 'c2']]