У меня есть несколько списков, таких как следующие -
list1=['Tom']
list2=[16]
list3=['Maths','Science','English']
list4=['A','B','C']
Я хочу сжать эти списки, чтобы получить следующее отображение -
желаемых результатов-
[('Tom', 16, 'Maths','A'), ('Tom', 16, 'Science','B'), ('Tom', 16, 'English','C')]
Результат, который я получаю, используя следующую команду-
results=zip(list1,list2,list3,list4)
[('Tom', 16, 'Maths','A')]
это всего лишь пример моей проблемы. Если предоставлено обобщенное решение, это будет полезно.
Если я использую утверждение -
res= itertools.izip_longest(*[x[c] for c in cols])
Я получаю несколько строк, но получаю значение NULL для столбца имени и возраста. Также рассмотрите возможность передачи имен столбцов описанным выше способом, поскольку имена столбцов не являются статическими.