догадка 1 : выводить строки, содержащие только элементы size_x исходного списка
for i in range(len(mylist)/size_x):
print(mylist[i*size_x:(i+1)*size_x])
угадайте 2 : новый список, элементы которого являются строками, состоящими только из символов size_x
newlist = []
for i in range(len(mylist)/size_x):
newlist.append(''.join(mylist[i*size_x:(i+1)*size_x]))
вывод нового списка «угадай 2» на экран быстрее, чем первое предположение:
print('\n'.join(newlist))
(также обратите внимание, что до Python 3 вместо range()
можно использовать xrange()
, который генерирует i-значения «на ходу» вместо создания целого списка индексов. Python 3 выполняет этот стандарт с range()
)
пример
mylist = list('hello this is supposed to be a long line')
size_x=5
for i in range(len(mylist)/size_x):
print(mylist[i*size_x:(i+1)*size_x])
['h', 'e', 'l', 'l', 'o']
[' ', 't', 'h', 'i', 's']
[' ', 'i', 's', ' ', 's']
['u', 'p', 'p', 'o', 's']
['e', 'd', ' ', 't', 'o']
[' ', 'b', 'e', ' ', 'a']
[' ', 'l', 'o', 'n', 'g']
[' ', 'l', 'i', 'n', 'e']
newlist = []
for i in range(len(mylist)/size_x):
newlist.append(''.join(mylist[i*size_x:(i+1)*size_x]))
print('\n'.join(newlist))
hello
this
is s
uppos
ed to
be a
long
line