Python печатает части, которые не идентичны, в двух строках - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь сделать что-то вроде этого:

a = "i am from Israel"
b = "i live in Switzerland"

Вывод:

"live", "am", "from", "Israel", "in", "Switzerland"

Поскольку эти части не отображаются в обеих строках. как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Использование set() и symetri c Разница :

a = "i am from Israel"
b = "i live in Switzerland"
c = set(a.split()) ^ set(b.split())
print(c)

Выход:

{'Israel', 'Switzerland', 'am', 'from', 'in', 'live'}
0 голосов
/ 17 марта 2020

Мне понравился вызов, отнюдь не идеальный ответ, но вот что я придумал.

a = "i am from Israel"
b = "i live in Switzerland"

a = a.split(" ")        # splitting the strings
b = b.split(" ")

for part in b:          # iterating over list
    try:
        a.remove(part)  # try to remove 
    except ValueError:  # if removing gives you an error it is not in it 
        a.append(part)  # add the part to list a

print(a)

выводит это для меня: ['am', 'from', 'Israel', 'live', 'in', 'Switzerland']

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