【问题标题】:Python: checking for duplicatesPython:检查重复项
【发布时间】:2021-10-13 12:25:57
【问题描述】:

我正在尝试制作一个掷骰子的函数,直到所有骰子掷骰都相等,从下一次掷骰中删除最常见的骰子。我正在努力寻找一种简单的方法来检查列表是否只包含相同的数字。我已经设法在所有骰子上获得相同的数字,但它变成了无限循环。关于如何检查列表是否为相同数字的任何建议,以便我可以将其用作打破循环的条件?

任何帮助将不胜感激。

【问题讨论】:

  • 您忘记发布代码了吗?
  • 嗨@Jakob!请提供一个最小的、可重现的示例 :: stackoverflow.com/help/minimal-reproducible-example
  • 我无法理解描述。 “从下一个掷骰中删除最常见的骰子” – 骰子如何频繁?如果这是最常见的数字,如何删除一个数字? “掷骰子”实际上有什么意义,还是只是 context 存在独特元素的特定问题,而这实际上并不依赖于掷骰子?

标签: python list function


【解决方案1】:

一种方法是将您的列表转换为set()

由于集合只能具有唯一成员,因此演员表将删除所有重复项。因此,所有相同数字的列表在转换为集合时将只有一个元素。

>>> l1 = [1,4,1,1,1]
>>> len(set(l1))
2
>>> l2 = [1,1,1,1,1,1]
>>> len(set(l2))
1

【讨论】:

  • 谢谢!直到现在我才引用 set() 的功能,那些解决了一切:D
【解决方案2】:

这是检查给定列表中是否只有一个唯一值的代码。

if len(set(your_list)) == 1:
   break

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2016-10-12
    • 2015-07-14
    • 1970-01-01
    相关资源
    最近更新 更多