@rsytrade

Как отфильтровать список и удалить дубликаты?

Есть список (страна/язык):
['/pl/fr', '/pt/pt', '/ro/en', '/rs/sr', '/cz/cs', '/si/sl', '/es/es', '/se/fr', '/de/de', '/uk/en']

Необходимо оставить только уникальные языки и удалить дубли (допустим в списке встречается два раза en (/uk/en и ro/en ), нужно оставить только uk/en и два раза встречается французский язык '/se/fr' и '/pl/fr' нужно оставить только se/fr). Как можно это реализовать?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
a = ['/pl/fr', '/pt/pt', '/ro/en', '/rs/sr', '/cz/cs', '/si/sl', '/es/es', '/se/fr', '/de/de', '/uk/en']
b = ['/{}/{}'.format(v, k) for k, v in {k:v for _,v,k in (i.split('/') for i in a)}.items()]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deliro
0. Создаёшь пустое множество S
1. Идёшь по списку
2. Строку делишь на страну-язык
3. Проверяешь, что язык не в S
4. Добавляешь его в S и в результирующий список

Хорош элементарные вопросы строчить по фундаменту языка и CS в целом

Ну и как сказал Игорь Маркин, у тебя несколько вариантов, какой строке отдать предпочтение. Первой, последней, рандмной, какой-то ещё? Мы за тебя решать будем?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы