0
a = [1,1,2,2,2,3,3,3,4]

我希望答案为 4,因为有 4 种类型(1、2、3、4)

有没有什么模块可以做到这一点?

4

4 回答 4

4

这是你想要的吗?

In [11]: a=[1,1,2,3,2,4,4,3]

In [12]: c=set(a)

In [13]: len(c)
Out[13]: 4

In [14]: c
Out[14]: set([1, 2, 3, 4])
于 2013-09-09T05:31:20.093 回答
1

您可以使用len(set(a)). 这会将它们放入一个集合中,该集合仅包含独特的项目

a折叠到{1,2,3,4},长度为 4

于 2013-09-09T05:27:46.030 回答
0

如果您不想像上面提到的那样使用 len(set(list)) ,另一种方法是这样做,虽然更迂回;带有 for 循环:

listA = [1,1,1,2,2,2,3,3,3,4,4,4]
listB = []
for x in listA:
    if x not in listB:
        listB.append(x)
print listB

这样,您就拥有了原始列表和一个新列表,您可以随心所欲地做任何事情,而不必担心影响原始列表。

于 2013-09-09T05:38:28.610 回答
0

我会尝试使用以下方法删除重复项。请注意,使用 set,您没有定义的顺序。

>>> a = [1,1,2,2,2,3,3,3,4]
>>> print list(set(a))
[1, 2, 3, 4]
>>>
于 2013-09-09T05:29:16.487 回答