0

助けてください。リストを引数として取り、元のリストから複数回出現する要素の新しいリストを返す関数を書きたいと思っています。このように書いてみましたが、答えが得られません

def list(n):
    l = [ ]
    for s in n:
        if n.count(s) > 1:
            l.append(s)
        return l
    return None
4

4 に答える 4

0

の解決策は良いと思いますEugene Naydenovが、いくつか強化します:

In [1]: my_list = [1, 2, 2, 3, 4, 4, 5, 5, 6, 7];
In [2]: set_list = lambda(lst) : list(set(i for i in filter(lambda x: my_list.count(x) > 1, lst))) #set_list is function
In [3]: set_list(my_list)
Out[3]: [2, 4, 5]
于 2013-10-08T06:25:38.367 に答える