2024-10-01 00:34:56 发布
网友
我有一个元组列表,我想删除重复的元组。像这样。在
x = [['aaron','jeng'],['sdf','wqd'],['aaron','jeng']]
我想要这样的输出:
我怎么能用简单的方法做到呢?我可以编写代码来实现这一点,但有没有内置函数?在
编辑1:正如大家所建议的,我很抱歉称它们为元组。我指的是名单。谢谢您。在
使用元组列表很容易,您只需要set(x)。由于列表是列表的列表,而不是元组的列表,因此可以先转换它们:
set(x)
set(tuple(i) for i in x)
退货:
或者,如果你想重新转换成你以前的列表:
[list(t) for t in (set(tuple(i) for i in x))] # [['aaron', 'jeng'], ['sdf', 'wqd']]
这是一个列表。。。但无论如何,您可以使用临时集来确保没有重复:
x = [['aaron','jeng'],['sdf','wqd'],['aaron','jeng']] seen = set() # store here the visited tuples y = [e for e in x if tuple(e) not in seen and not seen.add(tuple(e))] # [['aaron', 'jeng'], ['sdf', 'wqd']]
如果您预先将内部列表转换为元组,它的性能将大大提高。在
如果不需要保留顺序,那么只需将内部列表转换为元组,并将x转换为set()。在
x
set()
您的x值不包含元组列表,而是一个列表列表。如果它包含元组列表:
x = [('aaron','jeng'),('sdf','wqd'),('aaron','jeng')] out = set([i for i in x]) print(list(out)) [('aaron', 'jeng'), ('sdf', 'wqd')]
使用元组列表很容易,您只需要
set(x)
。由于列表是列表的列表,而不是元组的列表,因此可以先转换它们:退货:
^{pr2}$或者,如果你想重新转换成你以前的列表:
这是一个列表。。。但无论如何,您可以使用临时集来确保没有重复:
如果您预先将内部列表转换为元组,它的性能将大大提高。在
如果不需要保留顺序,那么只需将内部列表转换为元组,并将
x
转换为set()
。在您的x值不包含元组列表,而是一个列表列表。如果它包含元组列表:
相关问题 更多 >
编程相关推荐