如何在Python中检查列表是否有重复的数字

时间:2017-02-16 21:52:54

标签: python list nested-lists

所以我有一个名为puzzle的列表,其中包含以下列表:

puzzle = [[1, 3, 5, 5, 4],
[3, 5, 1, 3, 4],
[2, 3, 4, 5, 1],
[1, 5, 3, 2, 2],
[5, 4, 1, 3, 2]]

我想检查拼图中的每个列表并测试是否有任何重复的数字不为零,在这种情况下代码将返回false。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

几乎相同的方法 - 除了你在没有零的子列表上运行它。

def has_dup(lst):
    no_zeros = [x for x in lst if x != 0]
    return len(set(no_zeros)) != len(no_zeros)

is_valid = any(has_dup(x) for x in puzzle)