>>> my_list = ["This", "is", "an", "example", "list", "hehe"]
>>> counter = 3
>>> zip(*[iter(my_list)] * counter)
[('This', 'is', 'an'), ('example', 'list', 'hehe')]
В Python3 вам нужно конвертировать результат в zip()
к list
>>> list(zip(*[iter(my_list)] * counter))
[('This', 'is', 'an'), ('example', 'list', 'hehe')]
Вы можете использовать map
или itertools.izip_longest
, если список не является кратным счетчика
>>> my_list = ["This", "is", "an", "example", "list", "hehe", "onemore"]
>>> map(None, *[iter(my_list)] * counter)
[('This', 'is', 'an'), ('example', 'list', 'hehe'), ('onemore', None, None)]
>>> from itertools import izip_longest
>>> list(izip_longest(*[iter(my_list)] * counter, fillvalue = ''))
[('This', 'is', 'an'), ('example', 'list', 'hehe'), ('onemore', '', '')]
Ваша функция должна принимать список и счетчик. В функции создайте список списков (пустой) и список (пустой) и целое число current_count (0). Пока current_count меньше, чем счетчик, добавьте в свой пустой список. Когда он переполняется, установите его в 0 и добавьте список в список списков. Когда у вас закончились записи, верните список списков. – Patashu
Ваш список содержит только один элемент. Строки сгруппированы, так как вы оставили запятые в списке –