2017-09-02 45 views
0

如果輸入是整數列表,我將如何確定在使用集合的一行代碼中有多少個不同的數字?識別集合中不同數量的整數

如果輸入的是:

1 2 3 2 1 

我想的輸出:

3 

對不起,缺乏知識,我想教我如何才能使用套完成一些任務,我無法找到任何網上會幫助我...先謝謝了!

+0

你甚至嘗試使用一套? –

+0

你知道一套是什麼嗎? –

+0

我只知道它們可以用於什麼,但我真的不知道如何使用它們...我道歉 – AntsOfTheSky

回答

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))) 
+0

非常感謝。 – AntsOfTheSky

+0

@AntsOfTheSky很樂意幫忙! – Ajax1234

+0

如果有2個單獨的輸入,你知道如何在同一行代碼中使用這兩個輸入嗎? – AntsOfTheSky

0

一組是由出唯一可哈希對象的集合。這意味着你只能添加一個對象:一旦添加,添加一個等效對象,不會對該集合產生影響。

所以一套1, 2, 3, 2, 1是:

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

所以,你可以使用:

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

獲得該組的項目數量。