2016-05-03 129 views
0

我有一個像列表[「亞歷克斯史密斯」,「約翰瓊斯/約翰瓊斯和安娜康納」 ,「詹姆斯奧布萊恩」]。我想將它轉換爲個人獨特個人名單:[「Alex Smith」,「John Jones」,「Anna Conner」,「James O'Brien」]。我可以使用list(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'} 
相關問題