Найти - Пользователи
Полная версия: Как порезать строку на элементы списка?
Начало » Python для новичков » Как порезать строку на элементы списка?
1
panama555
Привет!
для решения задачи нужно порезать данную строку по определённой длине и добавить полученные куски как элементы в список
для примера:
дана строка
alf=“12345qwert12345qwert12345zxc”
нужно порезать строку по 5 символов и в ставить полученные куски в список list_alf
в данном примере значение полученного списка должен быть таким:
list_alf->“12345”,“qwert”,“12345”,“qwert”,“12345”,“zxc”
я сделал это вот таким образом:
 alf="12345qwert12345qwert12345zxc"
list_alf=[]
while alf!="":
    list_alf.append(alf[:5])
    alf=alf[5:]
print(list_alf)
Подскажите, это нормальный способ?
Есть ли вариант короче, лучше, понятнее? Только без доп.модулей
Спасибо
FishHook
panama555
Не уверен, что это будет понятней


   
alf = "12345qwert12345qwert12345zxc"
print ["".join(filter(None, x)) for x in map(None, *[iter(alf)]*5)]
panama555
при запуске вашего кода выскакивает ошибка “TypeError: ‘NoneType’ object is not callable”
Я пока не понял в чём дело?

FishHook
panama555
Я пока не понял в чём дело?
Да не парьтесь, это под второй питон написано, а у вас третий.
PEHDOM
panama555
Есть ли вариант короче, лучше, понятнее?
 alf="12345qwert12345qwert12345zxc"
chunk_size=5
print([alf[i:i+chunk_size] for i in range(0, len(alf), chunk_size)])
>>> 
['12345', 'qwert', '12345', 'qwert', '12345', 'zxc']
>>> 
короче, лучше, насчет понятнее ХЗ.
panama555
С понятностью всё нормально.
Я такой вариант, примерно, и хотел.
Спасибо
py.user.next
  
>>> import itertools
>>> 
>>> alf = '12345qwert12345qwert12345zxc'
>>> 
>>> list(map(''.join, itertools.zip_longest(*[iter(alf)] * 5, fillvalue='')))
['12345', 'qwert', '12345', 'qwert', '12345', 'zxc']
>>>
panama555
Я хочу обойтись без доп.модулей, если можно без них обойтись
Предыдущий вариант меня полностью устроил
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB