Найти - Пользователи
Полная версия: Генерация списка
Начало » Python для новичков » Генерация списка
1
Haphazard
Здравствуйте, как сделать? спасибо
 ll = r'\\Государственная граница\\Государственной границе\\Государственную границу\\ РФ'
spl = ll.split('\\\\')
if ll.strip().startswith('\\\\'): print([f'{i}{spl[-1]}' for i in spl[1:-1]]) # то что нужно = ['Государственная граница РФ', 'Государственной границе РФ', 'Государственную границу РФ']
ll = r'Правительство \\России\\РФ\\'
spl = ll.split('\\\\')
if ll.strip().endswith('\\\\'): ?? ['Правительство России', 'Правительство РФ']
ll = r'паспорт \\гражданина\\гражданки\\ РФ'
spl = ll.split('\\\\')
if not ll.strip().startswith('\\\\') and not ll.strip().endswith('\\\\'): ?? ['паспорт гражданина РФ', 'паспорт гражданки РФ']
в двух строчках где поставил знаки ?? и нужный результат
py.user.next
  
>>> def split(text):
...     if text.startswith(r'\\'):
...         parts = text.split(r'\\')
...         parts.remove('')
...         out = None, parts[:-1], parts[-1]
...     elif text.endswith(r'\\'):
...         parts = text.split(r'\\')
...         parts.remove('')
...         out = parts[0], parts[1:], None
...     elif r'\\' in text:
...         parts = text.split(r'\\')
...         out = parts[0], parts[1:-1], parts[-1]
...     else:
...         raise ValueError('Can\'t split text: ' + text)
...     return out
... 
>>> def compose(data):
...     out = []
...     text_start = data[0] or ''
...     text_end = data[-1] or ''
...     for text_middle in data[1]:
...         text = text_start + text_middle + text_end
...         out.append(text)
...     return out
... 
>>> def generate(text):
...     return compose(split(text))
... 
>>> generate(r'\\Государственная граница\\Государственной границе\\Государственную границу\\ РФ')
['Государственная граница РФ', 'Государственной границе РФ', 'Государственную границу РФ']
>>> 
>>> generate(r'Правительство \\России\\РФ\\')
['Правительство России', 'Правительство РФ']
>>> 
>>> generate(r'паспорт \\гражданина\\гражданки\\ РФ')
['паспорт гражданина РФ', 'паспорт гражданки РФ']
>>>
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