Python中如何实现删除list中的重复元素?求指教~~~
def unique_list(word_list):"""Return a list which contains unique strings.
>>> unique_list(['cat', 'dog', 'cat', 'bug', 'dog', 'ant', 'dog', 'bug'])
['cat', 'dog', 'bug', 'ant']
>>> unique_list(['Welcome', 'to', 'COMPSCI101', 'To'])
['Welcome', 'to', 'COMPSCI101', 'To')
"""
new_list = []
for word in word_list:
if word not in new_list:
new_list.append(word)
return new_list
import doctest
doctest.testmod()
但是运行的时候有错误,如下
File "C:/Users/apple/Desktop/Lab05_Homework.py", line 4, in __main__.unique_list
Failed example:
unique_list(['cat', 'dog', 'cat', 'bug', 'dog', 'ant', 'dog', 'bug'])
Expected:
['cat', 'dog', 'bug', 'ant']
Got:
['cat']
**********************************************************************
File "C:/Users/apple/Desktop/Lab05_Homework.py", line 7, in __main__.unique_list
Failed example:
unique_list(['Welcome', 'to', 'COMPSCI101', 'To'])
Expected:
['Welcome', 'to', 'COMPSCI101', 'To')
Got:
['Welcome']
**********************************************************************
1 items had failures:
2 of 2 in __main__.unique_list
***Test Failed*** 2 failures.
求大神们来指教~~~~
LZ的实现效率太低了:dizzy:>>> list(set(['cat', 'dog', 'cat', 'bug', 'dog', 'ant', 'dog', 'bug']))
['bug', 'cat', 'ant', 'dog'] 初学者没办法阿。。。。。。。。。 只测试第一个元素就返回了。当然只能是['a']和['Welcome']。return被你写道循环内了。
应该将return写道循环外。
嗯嗯 好的 谢谢啦
页:
[1]