Python - 如何知道列表中有多少种对象

时间:2013-09-09 05:26:18

标签: python types

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

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

有没有任何模块可以做到这一点?

4 个答案:

答案 0 :(得分: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])

答案 1 :(得分:1)

您可以使用len(set(a))执行此操作。这将它们放入一个集合中,该集合仅包含唯一项目

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

答案 2 :(得分:0)

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

>>> a = [1,1,2,2,2,3,3,3,4]
>>> print list(set(a))
[1, 2, 3, 4]
>>>

答案 3 :(得分:0)

如果你不想使用如上所述的len(set(list)),另一种方法是这样做,尽管更多的是回旋;是for 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

通过这种方式,您可以获得原始列表,也可以使用新的列表,无需担心影响原始列表。