You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python不导入外部模块 仅用简单循环查找列表最高频字符串

问题说明

现有元素均为歌手名称字符串的列表,定义如下:
singers = ["Abba", "queen", "the black eyed peas", "Abba"]
需要实现:不导入任何外部工具或函数,仅通过简单循环和基础内置方法,打印输出列表中出现次数最多的歌手名称。此前尝试结合count方法编写for循环时,仅能统计得到元素的出现次数,无法关联获取对应的目标歌手字符串。

实现逻辑

核心思路是在遍历统计次数的过程中,同步维护「当前最高出现次数」和「对应歌手名」两个变量,每次统计完单个歌手的出现次数就和历史最高值比对,发现更高值就同步更新两个记录变量,遍历完成后存的歌手名就是目标结果:

  • 初始化两个记录变量:max_count初始值设为0,用来存遍历过程中发现的最高出现次数;top_singer初始值设为空字符串,用来存对应最高次数的歌手名
  • 遍历列表中的每一个歌手名称,调用列表内置的count()方法统计当前歌手在列表中的总出现次数
  • 若当前歌手的出现次数大于max_count存储的历史最高值,就把max_count更新为当前次数,同时把top_singer更新为当前遍历到的歌手名
  • 遍历全部结束后,top_singer存储的就是出现次数最多的歌手名
完整实现代码
singers = ["Abba", "queen", "the black eyed peas", "Abba"]

max_count = 0
top_singer = ""

for singer in singers:
    current_count = singers.count(singer)
    if current_count > max_count:
        max_count = current_count
        top_singer = singer

print(top_singer)
效果说明
  • 上述代码运行后直接输出结果Abba,和示例列表的预期结果一致
  • 全程未使用任何外部导入的工具或函数,仅用到基础for循环、条件判断、列表内置count方法,完全符合要求
  • 若列表存在多个歌手出现次数并列第一的场景,当前逻辑会返回列表中最先达到最高出现次数的歌手;如果需要输出所有并列最高的歌手,只需把top_singer改为列表类型,调整更新逻辑为:次数大于最高值时清空列表存入当前歌手、次数等于最高值时追加当前歌手即可。

内容的提问来源于stack exchange,提问作者Dafi Sultan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:24:16