Как я могу разбить строку на переменные? - PullRequest
0 голосов
/ 02 марта 2019

Мне нужно разбить строку на переменные что-то вроде:

string = "Hello: My name is..." 
title, separator, my_name_is = string.partition(": ")

Но мне нужна строка с «My name is ...» всегда в переменной «my_name_is», даже если в исходной строкебудет только "Меня зовут ...".Я думаю, что это можно сделать примерно так:

>>>string = "My name is..." 
>>>title, separator, my_name_is = string.partition(": ")
>>>if my_name_is == "":
>>>   my_name_is = title
>>>print(my_name_is)
My name is...

, но я должен иметь этот код в одной строке и не могу использовать RE (задание для школы)

1 Ответ

0 голосов
/ 02 марта 2019

Если он должен быть в одной строке без каких-либо импортов, то это отлично сработает:

string = "Hello: My name is..." 
(title, my_name_is), separator = string.split(': ') if ':' in string else (None, string), ':'

print(title)
print(separator)
print(my_name_is)

# Hello
# :
# My name is...

Это также работает, если у string нет заголовка:

string = "My name is..." 
(title, my_name_is), separator = string.split(': ') if ':' in string else (None, string), ':'

print(title)
print(separator)
print(my_name_is)

# None
# :
# My name is...

Я бы никогда не сделал таких ужасных односложных слов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...