在给定带有重复项的字符串列表的情况下,如何创建一个返回唯一字符串列表的函数?

时间:2014-04-09 05:40:47

标签: python list unique python-3.3

这是我的编程课程的一部分作业。我们被要求创建一个接受字符串列表作为参数的函数,然后返回相同的字符串列表但没有重复。
                               e.g:

>>> unique_list(['dog','cat','dog','fish'])
['dog','cat','fish']

非常感谢有关此事的任何信息。

2 个答案:

答案 0 :(得分:0)

使用以下代码:

>>> def unique_list(mylist):
...     copy = []
...     for k in mylist:
...             if k not in copy:
...                     copy.append(k)
...     return copy
... 
>>> unique_list([1])
[1]
>>> unique_list([1, 1])
[1]
>>> unique_list([1, 1, 2])
[1, 2]
>>> unique_list([1, 3, 1, 2])
[1, 3, 2]
>>> unique_list(['dog','cat','dog','fish'])
['dog', 'cat', 'fish']

for循环遍历mylist中的每个项目。如果该项目已在copy中,则不执行任何操作。否则,它会添加要复制的项目。最后,我们会返回存储在mylist中的copy版本的'unduplicatified'。

或者单行将是:

>>> def unique_list(mylist):
...     return list(set(mylist))
... 
>>> unique_list([1])
[1]
>>> unique_list([1, 1])
[1]
>>> unique_list([1, 1, 2])
[1, 2]
>>> unique_list([1, 3, 1, 2])
[1, 2, 3]
>>> unique_list(['dog','cat','dog','fish'])
['fish', 'dog', 'cat'] 

答案 1 :(得分:0)

def unique_list(subject):
    return list(set(subject))

这是您可以在python 3.3中编写的内容