检查列表是否仅包含从 1 到 9 的所有数字,没有重复

Ver*_*ion 2 python list python-3.x

如果我有一个清单:

[6, 7, 4, 8, 9, 5, 3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

我想确保从 1 到 9 的每个数字都在列表中,没有重复,也没有其他数字。最好的方法是什么?

idj*_*jaw 6

这是解决此类问题的好方法:

通过对列表进行排序,并将相等性与 1 - 9 之间的列表进行比较,您将涵盖所有数字 1 到 9 的要求的所有情况,并且没有重复:

sorted(my_list) == list(range(1, 10))
Run Code Online (Sandbox Code Playgroud)

演示:

>>> 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
Run Code Online (Sandbox Code Playgroud)