2014-11-24 257 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