2016-10-28 28 views
0

如果我有一個列表:檢查列表只包含從1到9的所有數字,沒有重複

[6, 7, 4, 8, 9, 5, 3, 2, 1] 

我想,以確保從1到9每個數字在列表中,用沒有重複,也沒有其他數字。什麼是最好的方法來做到這一點?

+3

'排序(my_list)==列表(範圍(1,10))' – Selcuk

+0

@Selcuk:*「從1到9是在列表,沒有重複,也沒有其他編號s「。*按照它,有可能缺少數字(如未提及的問題)。在這種情況下,它會失敗。 –

+0

@anonymous您是否注意到Selcuk在您的評論中張貼的解決方案? – idjaw

回答

3

這是解決這類問題的好辦法:

通過排序列表,以及對從1列表進行比較平等 - 9,你將覆蓋每所有數字1到要求所有案件9,沒有重複:

sorted(my_list) == list(range(1, 10)) 

演示:

>>> my_list = [1,2,3,4,5,6,7,8,9] 
>>> sorted(my_list) == list(range(1, 10)) 
True 

>>> my_list = [1,2,3,4,5,6,7,9,9] 
>>> sorted(my_list) == list(range(1, 10)) 
False 

>>> my_list = [1,2,3,4,5,6,7] 
>>> sorted(my_list) == list(range(1, 10)) 
False 
相關問題