【发布时间】:2015-08-14 10:56:19
【问题描述】:
我想创建一个列表(或集合),其中包含出现在 python 列表列表中的所有唯一值。 我有这样的事情:
aList=[['a','b'], ['a', 'b','c'], ['a']]
我想要以下内容:
unique_values=['a','b','c']
我知道对于字符串列表,您可以只使用 set(aList),但我不知道如何在列表列表中解决这个问题,因为 set(aList) 会收到错误消息
unhashable type: 'list'
我该如何解决?
【问题讨论】:
-
您可以先展平列表。 stackoverflow.com/search?q=[python]+flatten+list(仅供参考,在 Python 中这些称为列表,而不是数组)
-
谢谢,我不知道哪个是正确的;)
-
我已经看到列表推导这样做了,但由于我的列表很大,我猜想从效率方面来说这将是一个糟糕的调用
-
您可以使用生成器表达式来避免创建第二个列表:python.org/dev/peps/pep-0289。但是你必须遍历嵌套列表中的所有元素,这是没有办法的。