1、可以使用Python的字典实现,对于一个特定的字符串,使用for循环遍历其中的字符,并保存成字典形式。字典的key为字符,value为字符在整个字符串中出现的次数。

2、拓展:如果题目为比较两个字符串是否相似,例如字符串str1 = "abcdefd"与字符串str2 = "bcadef"为相似的,因为字符串中出现的字符的次数是相同的。对于字符串str1以及字符串str2可以得到两个字典dict1以及dict2。此时可以使用模块operator中的方法对dict1以及dict2进行比较,即可得出是否为相似的字符串。

3、前导知识:

(1)关于Python的字典:dict1 = {'a':2, 'b':3, 'c':8, 'd':4}

分别取字典的键、值:print(dict1.values(), dict1.keys())。结果:dict_values([4, 2, 8, 3]) dict_keys(['d', 'a', 'c', 'b']) 注意返回的是列表的形式。

同时取字典的键、值:print(dict1.items())或者print(dict1)

排序sorted()函数:

对键正向排序(默认形式):

1 dict1={'a':2,'e':3,'f':8,'d':4}2 dict2 =sorted(dict1)3 print(dict2)

输出:

1 ['a', 'd', 'e', 'f']

对键反向排序:

1 dict1={'a':2,'e':3,'f':8,'d':4}2 dict2 = sorted(dict1,reverse=True)3 print(dict2)4 结果:['f', 'e', 'd', 'a']

对值排序:

1 dict1={'a':2, 'e':3, 'f':8, 'd':4}2 list1=sorted(dict1.values())3 print(list1) #结果:[2, 3, 4, 8]

设值reverse=True 进行反向排序

也可以用dict1.items(),得到包含键,值的元组

由于迭代对象是元组,返回值自然是元组组成的列表

这里对排序的规则进行了定义,x指元组,x[1]是值,x[0]是键

dict1={'a':2,'e':3,'f':8,'d':4}

list1= sorted(dict1.items(),key=lambda x:x[1])

print(list1)

结果:

[('a', 2), ('e', 3), ('d', 4), ('f', 8)]

对键进行排序:

dict1={'a':2,'e':3,'f':8,'d':4}

list1= sorted(dict1.items(),key=lambda x:x[0])

print(list1)

结果:

[('a', 2), ('d', 4), ('e', 3), ('f', 8)]

(2)Python 字典(Dictionary) cmp()方法(python2.X)

Python 字典的 cmp() 函数用于比较两个字典元素。

Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,包含的方法有:

4、面试题:字符串str1 = "abcdefd"与字符串str2 = "bcadef"为相似。

代码实现:

1 #author by xuelisheng

2 importoperator3

4 str1 = 'abcdefgaaa' #给出字符串

5 str2 = 'abcdefg' #给出字符串

6

7 d1 = {} #给出字典

8 d2 = {} #给出字典

9

10 for x instr1:11 if x ind1:12 d1[x] = d1[x] + 1

13 else:14 d1[x] = 1

15

16 for x instr2:17 if x ind2:18 d2[x] = d2[x] + 1

19 else:20 d2[x] = 1

21

22 print(operator.eq(d1, d2))

python统计字符串中某个字符出现的次数_【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)...相关推荐

  1. 无符号数的算术四则运算中的各类单词的识别_文本反垃圾在花椒直播中的应用概述...

    奇技指南 本文主要以文本为对象,简要地介绍花椒平台在文本反垃圾方面所采用的文本垃圾拦截技术 本文转载自花椒技术公众号 背景 随着花椒用户和主播用户的数量不断增加,一些非法用户(垃圾虫)利用花椒平台数据 ...

  2. vb.net中递归退到最外层_面试题被问到再也不慌,深究JavaScript中的深拷贝与浅拷贝...

    " 点个关注,养成习惯,带你python爬虫的过程中学习前端 " JavaScript中的深拷贝和浅拷贝是前端面试中频繁被问到的一道题, 于是我也自己去查阅了一些资料, 然后动手敲 ...

  3. python统计字符在文件中出现的次数_一文搞定统计字符串中某字符出现的频次

    下面是统计字符串中某字符出现的次数的方法 方法1: 这个方法相当简单,零基础自学编程,代码写成这样能满足需求,但它逐个逐个计数,比较笨拙.rlt = {} for i in content: if i ...

  4. python安装成功第三方库但import出问题_为什么会在pyspark在RDD中调用python第三方库失败?...

    问题描述 Hi, 我在公司线上运行pyspark时调用jieba分词, 发现可以成功import, 但是在RDD中调用分词函数时却提示没有 module jieba, 在本地虚拟机时没有这些问题 问题 ...

  5. java字符型转百分比_小数转换成百分比,转字符串

    packagecn.itcast.web.testUtil; importjava.text.NumberFormat; /* *输出结果 *小数0.33666666666666667 *百分数33. ...

  6. python卸载不了怎么办说目录有错_错误:无法在安装目录中创建或删除文件

    但是每当我运行这个命令时,就会出现以下错误wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | pyt ...

  7. mysql中avg函数如果有空值_对于 AVG 函数,如果列中所有行的值都是 null,那么 AVG 函数返回的值是( )...

    [判断题]偶联剂是具有某些特定基团的化合物,它能通过化学和物理的作用将两种性质差异很大,原本不易结合的材料较牢固地结合起来 [多选题]滑石粉的片状结构使得滑石粉填充塑料的某些性能得到较大的改善,可提高 ...

  8. python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...

    本文转载自公众号"读芯术"(ID:AI_Discovery). 如今,可供选择的Python web框架有不少,能帮助你更快更轻松地创建web应用.本文就将为大家介绍一些更现代.使 ...

  9. ajax中的url如何传递变量_如何创建和参数化UDT数据类型中的变量及IN,OUT 等参数?...

    从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型. S7 程序的自定义数据类型并不能装载到 S7 CPU 中.UDT 是由递增的编辑器创建并编辑或由源文件 ...

  10. 操作系统中进程并发运行的过程_三种电磁流量计运行过程中常见故障解决详情!...

    原标题:三种电磁流量计运行过程中常见故障解决详情! 昨天给大家介绍了电磁流量计的一些典型故障,今天我们继续来谈电磁流量计的故障问题!电磁流量计在正常的保养与维护之后,在正常使用的过程中依旧是会因为当时 ...

最新文章

  1. python有道翻译-利用python写一个有道翻译的脚本
  2. js实现网页页面回到顶部
  3. z最大子数组c语言,关于最大子数组问题
  4. LeetCode 683. K 个空花盆(set/滑动窗口)
  5. 一款APP设计的从0到1之:Android设计规范篇(转载)
  6. Leetcode每日一题:198.house-robber(打家劫舍)
  7. 在线2-36任意进制转换工具
  8. 数据绑定如何在AngularJS中运行?
  9. 厉害了,Netty 轻松实现文件上传!
  10. OpenCV_mechanisms of Canny operator(Canny算子检测图像边缘)
  11. js base64编码_使用psd.js将PSD转成SVG -- 基础篇(文字amp;图片)
  12. java图书馆抢座系统_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  13. suitecrm 如何backup and restore ,从一个server 转移到另一个 server . 并保证customer package , customer module 不丢...
  14. 汽车CAN通信解析(一)
  15. 索尼Xperia XZ1拆机换上听筒和电池
  16. 十大人文科技类图书(转)
  17. 国产智多晶FPGA基于Verilog的设计开发流程
  18. 模拟手机预览(非F12)
  19. betapubgmobile服务器维护,pubg mobile beta测试版
  20. 全国邮编区号大全和从word中读取内容保存到msql中的源程序

热门文章

  1. 分层结构的生活例子_详解软件分层架构设计、工作原理、实例以及具体架构
  2. 如何更好地优化大数据分析
  3. C# 笔记3 - 重载一系列像python那样的print()方法
  4. oracle 11g crs stat,Oracle 11g RAC CRS磁盘丢失后恢复
  5. 桌面上计算机右键管理打不开,Windows7中无法打开右键计算机的“管理”选项
  6. 全国计算机信息高新技术办公软件应用模块,全国计算机信息高新技术办公软件应用模块(Windows系列)教案.doc...
  7. AcWing 828. 模拟栈
  8. html圆如何找到垂直中心线,一种用于找中心线及圆心的装置的制作方法
  9. git与github远程连接代码库使用笔记
  10. eviews 9.5新版本——平均预测、面板效应检验