2016-05-03 5 views
0

У меня есть список, как [«Алекс Смит», «Джон Джонс/Джон Джонс и Анна Коннер», , «Джеймс О'Брайен»]. Я хотел бы преобразовать его в список отдельных уникальных людей: [«Алекс Смит», «Джон Джонс», «Анна Коннер», «Джеймс О'Брайен»]. Я могу использовать список (set (vector)), чтобы получить уникальность, которую я хочу, но расщепление дает мне головную боль.Я хотел бы дезагрегировать список строк для разделения на «/» и «и» на список уникальных строк

Я смотрел Flattening a shallow list in Python, и это выглядело хорошо, но оно было дезагрегировано по отношению к условным буквам, а не по сочетанию имен и фамилий.

+0

Просьба показать код того, что вы пробовали до сих пор, и лучше или больше примеров ввода и желаемого вывода. Проблема, которую вы описываете, по-прежнему слишком широка и неоднозначна. – Cyb3rFly3r

+0

Благодаря @ TigerhawkT3. Его предложение дало мне то, что я хотел. – SteveM49

ответ

2

Выберите разделитель, присоединиться в этом разделителе, конвертировать все разделители в том, что один, раскол по этому разделителю, а затем использовать set(), как вы планировали, чтобы удалить дубликаты:

l = ["Alex Smith", "John Jones/John Jones and Anna Conner", "James O'Brien"] 
new_set = set('/'.join(l).replace(' and ', '/').split('/')) 

Результат:

>>> new_set 
{"James O'Brien", 'Alex Smith', 'John Jones', 'Anna Conner'} 

 Смежные вопросы

  • Нет связанных вопросов^_^