相关疑难解决方法(0)

从列表列表中删除重复项

我有一个Python列表:

k = [[1, 2], [4], [5, 6, 2], [1, 2], [3], [4]]
Run Code Online (Sandbox Code Playgroud)

我想从中删除重复的元素.如果它是一个正常的列表而不是我可以使用的列表set.但不幸的是,该列表不可清除,也无法制作一组列表.只有元组.所以我可以将所有列表转换为元组,然后使用set并返回列表.但这并不快.

如何以最有效的方式完成?

上面列出的结果应该是:

k = [[5, 6, 2], [1, 2], [3], [4]]
Run Code Online (Sandbox Code Playgroud)

我不关心保留秩序.

注意:这个问题很相似,但不是我需要的.搜索了SO但没有找到确切的重复.


标杆:

import itertools, time


class Timer(object):
    def __init__(self, name=None):
        self.name = name

    def __enter__(self):
        self.tstart = time.time()

    def __exit__(self, type, value, traceback):
        if self.name:
            print '[%s]' % self.name,
        print 'Elapsed: %s' % (time.time() - self.tstart)


k = [[1, 2], [4], [5, 6, 2], [1, 2], [3], [5, 2], [6], …
Run Code Online (Sandbox Code Playgroud)

python

105
推荐指数
7
解决办法
8万
查看次数

标签 统计

python ×1