2024-05-08 22:24:58 发布
网友
我有一个包含大约300个列表的列表,但是其中有些是重复的,我想删除它们。我试过:
cleanlist = [cleanlist.append(x) for x in oldlist if x not in cleanlist]
但它总是朝我扔RuntimeError: maximum recursion depth exceeded in comparison。我试过sys.setrecursionlimit(1500),但没用。在
RuntimeError: maximum recursion depth exceeded in comparison
sys.setrecursionlimit(1500)
有什么更好的方法?在
疯狂的解决方案。或许这有助于:
oldlist = [[1,2,3], [1,2,3], [4,5,6], [7,8], [7,8]] cleanlist = set(tuple(x) for x in oldlist) print(list(cleanlist)) >>> [(7, 8), (4, 5, 6), (1, 2, 3)]
对于列表列表,请使用以下命令:
您将根据cleanlist是否在cleanlist中添加一堆内容(它还不存在),然后将从append()操作(即None)返回的值保存到cleanlist。不会有好结果的。在
cleanlist
append()
None
更好的方法可能是使用老式的循环结构:
cleanlist = [] for x in oldlist: if x not in cleanlist: cleanlist.append(x)
疯狂的解决方案。或许这有助于:
对于列表列表,请使用以下命令:
^{pr2}$您将根据
cleanlist
是否在cleanlist
中添加一堆内容(它还不存在),然后将从append()
操作(即None
)返回的值保存到cleanlist
。不会有好结果的。在更好的方法可能是使用老式的循环结构:
相关问题 更多 >
编程相关推荐