2014-11-24 259 views
-3

我有一個解析xml文件的python腳本,然後給我所需的信息。我的輸出看起來是這樣的,而且是100%正確的:從Python列表中刪除重複項

output = ['77:275,77:424,77:425,77:426,77:427,77:412,77:413,77:414,77:412,77:413,77:414,77:412,77:413,77:414,77:412,77:413,77:414,77:431,77:432,77:433,77:435,77:467,77:470,77:471,77:484,77:485,77:475,77:476,77:437,77:438,77:439,77:440,77:442,77:443,77:444,77:445,77:446,77:447,77:449,77:450,77:451,77:454,77:455,77:456,77:305,77:309,77:496,77:497,77:500,77:504,77:506,77:507,77:508,77:513,77:515,77:514,77:517,77:518,77:519,77:521,77:522,77:523,77:403,77:406,77:404,77:405,77:403,77:406,77:404,77:405,77:526,77:496,77:497,77:500,77:504,77:506,77:507,77:508,77:513,77:515,77:514,77:517,77:518,77:519,77:521,77:522,77:523,77:403,77:406,77:404,77:405,77:403,77:406,77:404,77:405,77:526,77:317,77:321,77:346,77:349,77:350,77:351,77:496,77:497,77:500,77:504,77:506,77:507,77:508,77:513,77:515,77:514,77:517,77:518,77:519,77:521,77:522,77:523,77:403,77:406,77:404,77:405,77:403,77:406,77:404,77:405,77:526,77:496,77:497,77:500,77:504,77:506,77:507,77:508,77:513,77:515,77:514,77:517,77:518,77:519,77:521,77:522,77:523,77:403,77:406,77:404,77:405,77:403,77:406,77:404,77:405,77:526,77:362,77:367,77:369,77:374,77:370,77:372,77:373,77:387,77:388,77:389,77:392,77:393,77:394,77:328,77:283,77:284,77:285,77:288,77:289,77:290,77:292,'] 

這是所有罰款,但我想刪除重複的元素中的一個元素,如上面的情況。我嘗試使用OrderedDict包或簡單列表(設置(輸出)),但obvoiusly他們都沒有工作。有沒有人有關於如何解決這個問題的小費。

+3

你有一個只有**一個**元素的列表,一個長字符串。如果您希望將其視爲單獨的元素,那麼您需要拆分該字符串,之後您的技術('OrderedDict'或'set')將工作得很好。 – 2014-11-24 15:46:02

+0

你的輸入在哪裏 – Hackaholic 2014-11-24 15:47:58

+0

試試這個打印列表(set(output [0] .split(','))) – 2014-11-24 15:48:08

回答

4

您有一個元素在列表中。如果您希望將其視爲單獨的元素,則需要明確將其分開。

你可以用str.split()','逗號字符的字符串分割成一個列表:

separate_elements = output[0].split(',') 

後,您可以使用set()(無序)或OrderedDict(維持秩序),並重新加入,如果你的字符串還是隻需要一個字符串對象:

','.join(set(separate_elements)) 

你可以把回列表中只有一個元素,但有一點一點如果你處理所有的是一個字符串。

+0

當場!謝謝! – bl618515 2014-11-24 15:52:31