当前位置: 首页 > 知识库问答 >
问题:

仅使用循环查找列表的模式并在python中创建列表[duplicate]

方坚壁
2023-03-14

我一直试图弄清楚如何找到一个列表的模式,而不使用排序函数,也不导入任何模块已经有一段时间了...以下是我目前掌握的情况:

d = {}
def mode():
    for i in mode:
        if i in d:
            d[i] += 1
        else:
            d[i] = 1
    return

如何找到如下输出:

print(mode([1, 5, 6, 1, 1, 2]))
[1]
print(mode([5, 6, 7, 8, 9]))
[5, 6, 7, 8, 9]

共有1个答案

陈坚
2023-03-14

您需要对dict中的出现次数进行计数,并根据返回列表本身的值提取max(如果没有模式)。

def mode(l):
     d= {}
    for i in l:
        d.setdefault(i, 0)
        d[i] += 1
    mx = max(d,key=d.get)
    return d[mx] if d[mx] > 1 else l 
 类似资料:
  • 问题内容: 我想从Python中的常量列表创建lambda对象列表;例如: 但是,当我运行它们时,这将创建一个lambda对象列表: 我希望它会打印 而是打印: 似乎所有lambda都被赋予了错误的参数。我做错了什么,有办法解决吗?我认为我使用的是Python 2.4。 编辑:更多尝试的事情,例如这样: 打印从1到25的期望平方,然后使用之前的print语句: 仍然给了我全部。现有的lambda对

  • 给定一个项目列表,记住列表的模式是最经常出现的项目。 我想知道如何创建一个函数,可以找到列表的模式,但如果列表没有模式(例如,列表中的所有项目只出现一次),它会显示一条消息。我想在不导入任何函数的情况下制作这个函数。我正在尝试从零开始制作自己的函数。

  • 我正在编写一个函数来计算一组数字的模式。 如果输入,则输出应。正如您所看到的,应该首先使用较小的数字,但我的代码不会这样做。有人能修改我的代码吗?

  • 问题内容: 如何使用列表中的名称创建新变量?这个: 当然不行。我该怎么办? 我想做这个: 问题答案: 我认为更适合此目的: 但是,如果您仍然想即时创建变量,则可以使用:

  • 问题内容: 关于你的第一个问题:该代码非常好,并且如果与其中的一个元素相等就可以正常工作。也许你尝试查找与其中一项不完全匹配的字符串,或者你使用的浮点值会导致不准确。 关于第二个问题:如果“查找”列表中的内容,实际上有几种可能的方法。 检查里面是否有东西 这是你描述的用例:检查列表中是否包含某些内容。如你所知,你可以使用in运算符: 过滤集合 即,找到满足特定条件的序列中的所有元素。你可以为此使用

  • 我远离python有一段时间了。当我尝试下面的代码时,它会给我索引错误