我有一个多维二维的列表。基本上,我想创建一个变量,每行都有重复项,然后我想创建另一个变量,每行都没有重复项。这可以通过使用列表来完成吗?你知道吗
df = [[[2, 3, 3, 3, 7, 8, 9, 9],[3, 3, 3, 5, 9, 9, 10, 11],[3, 3, 3, 4, 9, 9, 13, 15]],
[[2, 3, 3, 3, 4, 4, 5, 6],[4, 4, 5, 7, 7, 7, 8, 10],[4, 4, 6, 7, 7, 7, 9, 11],[3, 3, 3, 4, 4, 8, 11, 12]],
[[4, 6, 7, 7, 7, 9, 11, 11],[3, 3, 3, 5, 9, 10, 11, 11],[3, 3, 3, 6, 7, 7, 7, 10, 12, 12]]]
我希望我的结果是:
Dup = [[[3,9],[3, 9],[3, 9]],[[3, 4],[4, 7],[4, 7,[3, 4]],[[7, 11],[3, 11],[3, 7, 12]]]
Not in = [[[2 7, 8],[5,10, 11],[4, 13, 15]],[[2, 5, 6],[5,8, 10],[6, 9, 11],[8, 11, 12]],[[4, 6, 9],[5, 9, 10],[6,10]]]
不需要额外的导入,只需使用双嵌套列表理解
set
和count
:不过,请注意,如果最内部的列表非常大,那么使用^{} 可能会更快;否则就不重要了,这个版本可能是最直接、最容易阅读的。你知道吗
这可以使用列表理解和
collections.Counter
实现,如下所示:仅供参考,我使用了
l
和sl
相应的列表和子列表。i
表示项,c
是sl
中该项的计数。结果如下:相关问题 更多 >
编程相关推荐