识别集合中不同数量的整数

时间:2017-09-02 14:49:06

标签: python integer set

如果输入是整数列表,我如何使用集合确定一行代码中有多少个不同的数字?

如果输入是:

1 2 3 2 1

我想要输出:

3

很抱歉由于缺乏知识,我试图教自己如何使用套装来完成某些任务,我无法在网上找到任何可以帮助我的东西......提前致谢!

2 个答案:

答案 0 :(得分:0)

只需使用套装。设置从列表中删除所有重复项:

import itertools
n = int(input("Enter the number of inputs "))
l = list(itertools.chain(*[map(int, input().split()) for i in range(n)]))
print(len(set(l))) 

答案 1 :(得分:0)

集合是由唯一可扩展对象组成的集合。这意味着您只能添加一次对象:一旦添加,添加一个等效对象,就不会对该集合产生影响。

所以1, 2, 3, 2, 1的集合是:

>>> set([1,2,3,2,1])
{1, 2, 3}

所以你可以使用:

>>> len(set([1,2,3,2,1]))
3

获取集合中的项目数。