【问题标题】:How to check if a list has duplicate numbers in Python [duplicate]如何在Python中检查列表是否有重复的数字[重复]
【发布时间】:2017-07-06 05:44:06
【问题描述】:

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

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。我该怎么做?

【问题讨论】:

  • 更复杂:你必须排除零。好吧,一旦您整理出重复项,这并不难,您就在这一点上。
  • @Daniel:非零的东西不在重复的东西中处理。

标签: python list nested-lists


【解决方案1】:

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

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)

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 1970-01-01
    • 2016-03-30
    • 2013-07-29
    • 2017-06-08
    • 2020-05-14
    • 2012-01-10
    • 2020-07-21
    • 1970-01-01
    相关资源
    最近更新 更多