我有一份 list :

s=[[1,2,1],[2,2,1],[1,2,1]]

case 1:删除列表中的重复组

case 2:删除组中的重复值

预期结果:

Case 1 : [[1,2,1],[2,2,1]]
Case 2 : [[1,2],[2,1],[1,2]]

我试着使用list(set(s)),但出现了一个错误:

不可损坏类型:"列表"

推荐答案

IIUC,

Case 1:

将列表转换为元组进行散列,然后在元组列表上应用一个集合以删除重复项.最后,转换回列表.

out1 = list(map(list, set(map(tuple, s))))
# [[1, 2, 1], [2, 2, 1]]
Case 2:

对于每个子列表,删除重复项,同时保持转换为字典键(唯一)的顺序,然后返回列表:

out2 = [list(dict.fromkeys(l)) for l in s]
# [[1, 2], [2, 1], [1, 2]]

Python相关问答推荐

如何才能将每个组比上一组增加N %?

从管道将Python应用程序部署到Azure Web应用程序,不包括需求包

如何防止Plotly在输出到PDF时减少行中的点数?

Python plt.text中重叠,包adjust_text不起作用,如何修复?

如何使用没有Selenium的Python在百思买着陆页面上处理国家/地区 Select ?

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

如何计算两极打印机中 * 所有列 * 的出现次数?

重新匹配{ }中包含的文本,其中文本可能包含{{var}

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

Python 约束无法解决n皇后之谜

通过Selenium从页面获取所有H2元素

为什么符号没有按顺序添加?

如何访问所有文件,例如环境变量

什么相当于pytorch中的numpy累积ufunc

cv2.matchTemplate函数匹配失败

网格基于1.Y轴与2.x轴显示在matplotlib中

matplotlib图中的复杂箭头形状

在pandas/python中计数嵌套类别

不允许 Select 北极滚动?

无法在Spyder上的Pandas中将本地CSV转换为数据帧