如何制作一组清单 [英] How to make a set of lists

查看:92
本文介绍了如何制作一组清单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的列表列表:

I have a list of lists like this:

i = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]]

我想要一个包含独特"列表(基于其元素)的列表,如:

I would like to get a list containing "unique" lists (based on their elements) like:

o = [[1, 2, 3], [2, 4, 5]]

我不能使用set(),因为列表中有不可散列的元素.相反,我正在这样做:

I cannot use set() as there are non-hashable elements in the list. Instead, I am doing this:

o = []
for e in i:
  if e not in o:
    o.append(e)

有更简单的方法吗?

推荐答案

您可以创建一组元组,由于您提到的不可散列的元素,因此不可能有一组列表.

You can create a set of tuples, a set of lists will not be possible because of non hashable elements as you mentioned.

>>> l = [[1, 2, 3], [2, 4, 5], [1, 2, 3], [2, 4, 5]]
>>> set(tuple(i) for i in l)
{(1, 2, 3), (2, 4, 5)}

这篇关于如何制作一组清单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆