首页 > 编程语言 >python实现输入一个字符串,输出第m个只出现过n次的字符

python实现输入一个字符串,输出第m个只出现过n次的字符

时间:2023-09-08 23:31:35浏览次数:40  
标签:count 字符 return target python chars char 字符串

功能需求

输入一个字符串 str,输出第 m 个只出现过 n 次的字符

功能分析

1:定义一个函数,函数传入三个参数,分别是输入的字符串、第m个、n次。

2:统计每个字符在字符串中出现的次数,然后按照出现次数进行排序。

3:找到第m个只出现n次的字符并输出。


程序实现

def find_char(str, m, n):
    # 统计每个字符出现的次数
    count = {}
    for char in str:
        if char in count:
            count[char] += 1
        else:
            count[char] = 1

    # 按照出现次数进行排序
    sorted_count = sorted(count.items(), key=lambda x: x[1])

    # 找到第m个只出现n次的字符
    target_chars = [char for char, cnt in sorted_count if cnt == n]
    if len(target_chars) >= m:
        return target_chars[m - 1]
    else:
        return None

result = find_char("aabbbccdde", 3, 2)

print(result)

代码解释:

    if len(target_chars) >= m:
        return target_chars[m - 1]
    else:
        return None


首先检查target_chars的长度(使用len()函数)是否大于或等于m。如果是,那么它会返回target_chars列表的第m个元素。注意这里使用的是m - 1作为索引,因为在Python中,列表的索引是从0开始的。所以,如果你想要得到第m个元素,你需要使用m - 1作为索引。

如果target_chars的长度小于m,那么代码将执行else块中的语句,返回None

这个逻辑通常用于当目标字符列表长度不足时避免索引错误。


最终效果

python实现输入一个字符串,输出第m个只出现过n次的字符_字符串



注意事项

  1. 确保输入的字符串str、整数m和n都是有效的,否则程序可能会出错。
  2. 如果找不到满足条件的字符,程序会返回None。


标签:count,字符,return,target,python,chars,char,字符串
From: https://blog.51cto.com/u_15928170/7414475

相关文章

  • 朴素贝叶斯分类 -python
    算法思想——基于概率的预测贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的标记类别。理论基础贝叶斯定理这个定理解决了现实生活中经常遇到的问题:已知某条件概......
  • 重磅!python自动化办公,终于支持 Mac下载了
    大家好,这里是程序员晚枫,小红薯/小破站也叫这个名。给小白的《50讲Python自动化办公》,课程一直在更新中,昨晚12点多,有朋友在课程群里问能不能支持Mac?今天给大家分享一个好消息:python-office终于支持mac下载了。下载命令先给大家说一下下载命令,然后再说注意事项。不论你的电脑上......
  • python编写营销分配测算工具模型
       销售工作中经常遇到销售业绩考核和销售营销收入分配的问题,现用python编写一个营销分配测算工具模型,供python开发者设计参考。直接上代码#encoding=utf-8#Time:2023/09/0818:36#Salem.py营销测算工具#Author:HiFineimporttkinterastkfromtkinterimp......
  • 完美解决Python词云库wordcloud不显示中文问题
    你的Python词云库wordcloud显示的都是方框吗?别担心,我有一个妙招让你的中文词云变得美观又清晰!背景:wordcloud是一个基于python的词云生成库,它可以让你用简单的代码创建出各种形状和颜色的词云图像wordcloudgithub地址:https://github.com/amueller/word_cloudwordcloud\(\color......
  • 用现代C++写一个python的简易型list
    std::variant介绍:en.cppreference.com/w/cpp/utility/variant  通过泛型模板(仅提供了int,double,string三种类型的存储),实现了append,pop,front,back,size等方法,并且通过重载运算符实现了对负数索引的访问。#include<iostream>#include<vector>#include<variant>......
  • KMP字符串对比算法及next数组计算
    (注:该贴主要运用python实现该算法)先谈谈KMP算法吧。KMP算法的全称是Knuth-Morris-Pratt算法,它是用来进行字符串查找,即在某个主字符串里面找到某个特定子字符串。但是好像这个问题也可以直接暴力查找来完成啊,可是暴力查找的的缺点是不可忽视的:它的时间复杂度太高了!一旦遇......
  • appium+python安装配置及代码测试完整流程
    1.appium安装及环境配置2.模拟器安装或者直接连接真机也可以3.手机各配置参数获取platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote 4.代码运行测试,启动手机应用5.进阶版,代码为POM模式......
  • Python初步了解装饰器
    Python初步了解装饰器装饰器的概念装饰器的简单使用装饰器的进阶装饰器的练习装饰器的固定模块装饰器的语法糖装饰器的概念装饰器它不是一个新的知识点,它是有之前我们学习的名称空间、函数嵌套、闭包函数等知识点汇总而来器:工具装饰:为其他事物添加功能装饰器:不修该装......
  • Alembic:Python数据库迁移工具
    Alembic是一款轻量型的数据库迁移工具,它与SQLAlchemy一起共同为Python提供数据库管理与迁移支持。Alembic的应用Alembic使用SQLAlchemy作为数据库引擎,为关系型数据提供创建、管理、更改和调用的管理脚本,协助开发和运维人员在系统上线后对数据库进行在线管理。同任何P......
  • appium+python安装后代码测试
     fromappiumimportwebdriver#模拟器/真机已经被电脑识别到(adbdevices)#字典#1、设置终端参数项desired_caps={"platformName":"Android","platformVersion":"6.1.1","appPackage":"com.ss.android.article.n......