python统计字符串中某个字符出现的次数_【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)...
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实现)...相关推荐
- 无符号数的算术四则运算中的各类单词的识别_文本反垃圾在花椒直播中的应用概述...
奇技指南 本文主要以文本为对象,简要地介绍花椒平台在文本反垃圾方面所采用的文本垃圾拦截技术 本文转载自花椒技术公众号 背景 随着花椒用户和主播用户的数量不断增加,一些非法用户(垃圾虫)利用花椒平台数据 ...
- vb.net中递归退到最外层_面试题被问到再也不慌,深究JavaScript中的深拷贝与浅拷贝...
" 点个关注,养成习惯,带你python爬虫的过程中学习前端 " JavaScript中的深拷贝和浅拷贝是前端面试中频繁被问到的一道题, 于是我也自己去查阅了一些资料, 然后动手敲 ...
- python统计字符在文件中出现的次数_一文搞定统计字符串中某字符出现的频次
下面是统计字符串中某字符出现的次数的方法 方法1: 这个方法相当简单,零基础自学编程,代码写成这样能满足需求,但它逐个逐个计数,比较笨拙.rlt = {} for i in content: if i ...
- python安装成功第三方库但import出问题_为什么会在pyspark在RDD中调用python第三方库失败?...
问题描述 Hi, 我在公司线上运行pyspark时调用jieba分词, 发现可以成功import, 但是在RDD中调用分词函数时却提示没有 module jieba, 在本地虚拟机时没有这些问题 问题 ...
- java字符型转百分比_小数转换成百分比,转字符串
packagecn.itcast.web.testUtil; importjava.text.NumberFormat; /* *输出结果 *小数0.33666666666666667 *百分数33. ...
- python卸载不了怎么办说目录有错_错误:无法在安装目录中创建或删除文件
但是每当我运行这个命令时,就会出现以下错误wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | pyt ...
- mysql中avg函数如果有空值_对于 AVG 函数,如果列中所有行的值都是 null,那么 AVG 函数返回的值是( )...
[判断题]偶联剂是具有某些特定基团的化合物,它能通过化学和物理的作用将两种性质差异很大,原本不易结合的材料较牢固地结合起来 [多选题]滑石粉的片状结构使得滑石粉填充塑料的某些性能得到较大的改善,可提高 ...
- python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...
本文转载自公众号"读芯术"(ID:AI_Discovery). 如今,可供选择的Python web框架有不少,能帮助你更快更轻松地创建web应用.本文就将为大家介绍一些更现代.使 ...
- ajax中的url如何传递变量_如何创建和参数化UDT数据类型中的变量及IN,OUT 等参数?...
从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型. S7 程序的自定义数据类型并不能装载到 S7 CPU 中.UDT 是由递增的编辑器创建并编辑或由源文件 ...
- 操作系统中进程并发运行的过程_三种电磁流量计运行过程中常见故障解决详情!...
原标题:三种电磁流量计运行过程中常见故障解决详情! 昨天给大家介绍了电磁流量计的一些典型故障,今天我们继续来谈电磁流量计的故障问题!电磁流量计在正常的保养与维护之后,在正常使用的过程中依旧是会因为当时 ...
最新文章
- python有道翻译-利用python写一个有道翻译的脚本
- js实现网页页面回到顶部
- z最大子数组c语言,关于最大子数组问题
- LeetCode 683. K 个空花盆(set/滑动窗口)
- 一款APP设计的从0到1之:Android设计规范篇(转载)
- Leetcode每日一题:198.house-robber(打家劫舍)
- 在线2-36任意进制转换工具
- 数据绑定如何在AngularJS中运行?
- 厉害了,Netty 轻松实现文件上传!
- OpenCV_mechanisms of Canny operator(Canny算子检测图像边缘)
- js base64编码_使用psd.js将PSD转成SVG -- 基础篇(文字amp;图片)
- java图书馆抢座系统_JSP+SSM+Mysql实现的图书馆预约占座管理系统
- suitecrm 如何backup and restore ,从一个server 转移到另一个 server . 并保证customer package , customer module 不丢...
- 汽车CAN通信解析(一)
- 索尼Xperia XZ1拆机换上听筒和电池
- 十大人文科技类图书(转)
- 国产智多晶FPGA基于Verilog的设计开发流程
- 模拟手机预览(非F12)
- betapubgmobile服务器维护,pubg mobile beta测试版
- 全国邮编区号大全和从word中读取内容保存到msql中的源程序
热门文章
- 分层结构的生活例子_详解软件分层架构设计、工作原理、实例以及具体架构
- 如何更好地优化大数据分析
- C# 笔记3 - 重载一系列像python那样的print()方法
- oracle 11g crs stat,Oracle 11g RAC CRS磁盘丢失后恢复
- 桌面上计算机右键管理打不开,Windows7中无法打开右键计算机的“管理”选项
- 全国计算机信息高新技术办公软件应用模块,全国计算机信息高新技术办公软件应用模块(Windows系列)教案.doc...
- AcWing 828. 模拟栈
- html圆如何找到垂直中心线,一种用于找中心线及圆心的装置的制作方法
- git与github远程连接代码库使用笔记
- eviews 9.5新版本——平均预测、面板效应检验