【问题标题】:A function called that takes two lists as its parameters and returns either True or False. Python [closed]一个被调用的函数,它接受两个列表作为其参数并返回 True 或 False。 Python [关闭]
【发布时间】:2013-10-26 20:13:49
【问题描述】:

我最近开始了解 Python。这就是我正在做的事情。请提示如何开始。

编写一个名为sameElements 的函数,它接受两个列表作为其参数并返回True 或False。当第二个列表只是第一个列表的重新排列时,它应该返回 True,这意味着第二个列表具有完全相同的元素,只是顺序不同(甚至可能相同)。您可以假设两个列表中的数据项属于同一类型。

例如:

sameElements([1,2,3], [2,3,1])
True
sameElements([1,2,3], [3,2,2])
False
sameElements([1,2,3], [3,2,1,1])
False
sameElements([1,1,2], [1,2,1])
True
sameElements([1,1,2], [2,1])
False
sameElements(['a','c','a','b'], ['b','a','a','c'])
True

注意:

  • 对于长度不同的列表,答案始终为 False。
  • 您的函数不应修改任何一个列表,因此您可能需要复制一个或多个列表。
  • 允许重复,并且需要在两个列表中出现相同的次数。

【问题讨论】:

  • 向我们展示您的尝试(最好是代码,或者至少是一个思考过程)。这里的人真的不喜欢只为你写代码。另外,如果你至少尝试一下,你会学到更多。
  • 尝试对每个列表的元素进行排序,然后检查两个列表是否相等。

标签: python list function


【解决方案1】:

这里有一个提示

>>> from collections import Counter
>>> Counter(['a','c','a','b']) == Counter(['b','a','a','c'])
True

但你可能会告诉我们你不能使用Counter

【讨论】:

  • 提示:实现你自己的Counter
猜你喜欢
  • 2015-03-24
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 2017-01-14
相关资源
最近更新 更多