Python编程:字符串相关操作

Python刷算法题常见内置函数、方法技巧【最全汇总】 对于一个给定的数列A,它的前缀和数列S中S[i+1]表示从第1个元素到第i个元素的总和。假设nums是一个int型列表,形如就是从索引0对应的元素开始,累加到索引i对应的元素的前缀和。譬如,那么其前缀和列表即为。前缀和的作用是可以在O(1)的时间复杂度下快速地计算出某段连续子数组的和。即譬如对于上述而言,如果想快速计算出子数组的结果,只需要计算即为答案。前缀和的作用也可以用来解释,为什么我们会把0也视为一个前缀和并且放在前缀和列表的第一个位置。由于设置了,那么,才能够得到起始位置为原数组。 阅读详情

1. str类型转int类型

给定一个包含若干数字的字符串num_str,如何将其转换为int类型的num呢?最简单的方式是使用强制类型转换,即

num_str = "12345"
num = int(num_str)

如果不允许直接使用int(num_str),如何使用遍历的方式,将num_str转换成int类型的num呢?
可以初始化变量num为0,然后从左到右遍历num_str中的每一个字符ch,将num扩大十倍后将加上int(ch)的结果重新赋值给num,直到遍历结束。代码实现如下

num_str = "12345"
num = 0
for ch in num_str:
    num = num * 10 + int(ch)

2. 判断字符串是否均为字母、数字、或者字母或数字

字符串中的isalpha()方法用以判断字符串中是否均为字母,isdigit()方法用以判断字符串中是否均为数字,isalnum()方法用以判断字符串中是否均为字母和数字,根据判断结果返回一个布尔类型。

s = "123abc"

print(s[-1].isalpha())    # True
print(s.isalpha())        # False

print(s[0].isdigit())     # True
print(s.isdigit())        # False

print(s.isalnum())        # True

由于isdigit()方法只能判断字符串是否均为数字,所以是不能够判断负数的,在使用该方法时要注意这个问题,以免错判。如以下代码无法达到我们的要求。

s = "-10"

print(s.isdigit())        # False

如果我们确定字符串不会存在数字和其他字符混搭的情况,我们可以只取字符串的最后一个元素进行判断。这在LeetCode 150、逆波兰表达式求值 中可以用到这个技巧。

s1 = "-10"
print(s1[-1].isdigit())    # True

s2 = "10"
print(s2[-1].isdigit())    # True

s3 = "+"
print(s3[-1].isdigit())    # False

3. 判断字符串是否均为大写或小写字母

字符串中的islower()和isupper()方法用以判断字符串中是否均为小写字母或大写字母,根据判断结果返回一个布尔类型。注意当字符串中同时包含大小写字母,或包含数字或其他符号时,均会返回False。

s1 = "abc"
print(s1.islower())    # True
print(s1.isupper())    # False

s2 = "ABC"    
print(s2.islower())    # False
print(s2.isupper())    # True

s3 = "aBC"
print(s3.islower())    # False
print(s3.isupper())    # False

s4 = "1"
print(s4.islower())    # False
print(s4.isupper())    # False

4. 字母大小写转换

字符串中的lower()和upper()方法可以将字符串中的所有小写字母转化为大写,或者将所有大写字母转化为小写,并返回一个新的字符串,原字符串不发生改变。

s = "aBc123"
s_upper = s.upper()    # 得到"ABC123"
s_lower = s.lower()    # 得到"abc123"

字符串中的title()方法可以令字符串中的所有单词的首字母大写,并返回一个新的字符串,原字符串不发生改变。这个方法的使用频率较低。

s = "i love python"
s_title = s.title()    # 得到"I Love Python"

5. 替换

字符串中的replace(x, y)方法可以将原字符串中的字符串x替换为字符串y,并返回一个新的字符串,原字符串不发生改变。

s = "aBc123"
s1 = s.replace("a", "d")
s2 = s.replace("123", "4")

对输入的字符串进行预处理的操作,就用到了replace()方法,将单个左括号"(“和右括号”)“替换成前后带有空格的左括号” ( “和右括号” ) ",方便后续的分割操作。

6. 分割

字符串中的split(x)方法以字符串x为分割符,将原字符串分割为一个新的列表并返回,原字符串不发生改变。如果不传入参数x,则默认为按照空格" “进行分割。最常用的分隔符为空格” “或者逗号”,"。

s = "1 2 3 4 5"
lst = s.split()
# 等价于lst = s.split(" ")

s = "1,2,3,4,5"
lst = s.split(",")

# 两种分割均会得到lst = ["1", "2", "3", "4", "5"]

7. 合并

字符串中的join(lst)方法以原字符串为合并符,将列表lst合并为一个新的字符串并返回。注意lst中的元素必须是字符串。最常用的合并符为空字符串"“、空格字符串” "。

lst = ["a", "b", "c"]
s = "".join(lst)
# 会得到s = "abc"

s_space = " ".join(lst)
# 会得到s_space = "a b c"

s_star = "*".join(lst)
# 会得到s_star = "a*b*c"

字符串的分割与合并是一对相互对应的操作,常用于列表与字符串之间的相互转换。
注意:

  1. 字符串属于一种不可变数据类型,并不能直接进行修改操作。当题目要求对一个字符串进行修改时,通常会先将原字符串使用split()方法或list()转化成列表,对列表修改后再使用join()方法得到新字符串的方式来实现。
  2. 列表lst必须是一个字符串类型列表,即lst: List[str]。如果lst是一个整数类型列表,直接使用语句"".join(lst)会出现类型错误TypeError。如需进行合并操作,必须使用map()内置函数对lst中的元素进行类型转换,将lst中的所有int类型元素转换成str类型。即
lst = [0, 4, 2]
s = "".join(list(map(str, lst)))    # 得到s = "042"
Python基本数据类型字符串操作总结 单行字符串可以由一对单引号' '或一对双引号" "作为边界,单引号和双引号的作用相同。当使用单引号时双引号可以作为字符串的一部分,使用双引号时,单引号可以作为字符串的一部分。 阅读详情

相关推荐

Python字符串操作:编程自动化的工作利器

本文详细介绍了Python中字符串的基本操作,包括字符串的下标和切片、in和not in操作符、常用字符串方法以及字符串的对齐和清理。通过实例演示了如何利用这些功能完成自动化任务,如处理大量文本、批量修改格式和快速访问剪贴板内容。这些知识将帮助读者在编程时实现文本处理的自动化,提高开发效率。

weixin_35871529的博客 441

算法题Python常用内置函数、方法、技巧汇总(其三:字符串)

60+天陪伴式学习,40+直播课时,300+动画图解视频,300+LeetCode经典题,200+华为OD真题/大厂真题,还有简历修改、模拟面试、专属HR对接将为你解锁。数字,所以是不能够判断负数的,在使用该方法时要注意这个问题,以免错判。如果我们确定字符串不会存在数字和其他字符混搭的情况,我们可以只取字符串的最后一个元素进行判断。每期人数维持在20人内,保证能够最大限度地满足到每一个同学的需求,达到和1v1同样的学习效果!方法用以判断字符串中是否均为字母和数字,根据判断结果返回一个布尔类型。

weixin_48157259的博客 1215

BCIC IV 2a数据集:从下载到实战应用全解析

本文全面解析了BCI Competition IV 2a(BCIC IV 2a)数据集的应用流程。从官方渠道下载数据、解析其结构,到在MATLAB和Python环境中进行数据导入、预处理(包括处理特殊受试者A04T),并详细演示了从特征提取(如CSP)到分类(如LDA、SVM)的完整实战步骤,为脑机接口研究者提供了从入门到实践的清晰指南。

weixin_28235513的博客 972

算法机试常用python库&库函数

也是{}定义,但是由于字典也是大括号,因此在定义空集合时,不能直接直接a={}.需要用set()函数,eg:a=set(),定义一个空集合。有值时可以直接赋值定义。将其他数据类型转换为集合,set(a),a可以是listprint集合中的所有元素可以直接print(setname)

ljiasun的博客 1114

一文搞懂什么是OTA(空中升级)

OTA(Over-The-Air,空中升级)是一种通过无线通信技术实现远程更新设备固件或软件的方法。这项技术广泛应用于现代物联网(IoT)设备、智能手机、汽车、嵌入式系统等领域,提供了一种无需物理连接的便捷更新方式。OTA更新的核心在于使设备能够自动、可靠、安全地从远程服务器获取和应用更新,改善设备性能、添加新功能或修复安全漏洞。

不积跬步无以至千里 7万+

SpringBoot实战——仿b站项目(一)

热部署就是当应用程序这种运行的时候升级冉家或者修改某一部分代码、配置文件时,无需手动启动应用,即可修改的部分生效工具 + IDEA配置。

weixin_52880572的博客 3453

编程速记(9):Python篇-字典与JSON字符串的相关操作

一、创建字典 dic = dict() # 创建空字典 二、字典插入元素 dic.update(key=value) 注:比较头疼的是key在这里只能是常量而不能是变量 三、获取字典key的数量 len(dic.keys()) 四、遍历字典 for key in dic: print(dic[key]) 五、字典转JSON字符串 import json json_Str = jso...

weixin_38316806的博客 216

dolphinscheduler-3.4.0

dolphinscheduler集群部署

docsz的博客 659

chatgpt赋能python:Python补0代码介绍

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

a058046的博客 1450

用python画带有正负值的条形图

常见的条形图只能表现数据的大小,却不能表现值的正负关系。但是其实仅仅使用`pandas`和`matplotlib`两个包就可以实现y轴负轴的添加以及负值的显示,并且可以为正负值分别设置不同的颜色,让条形图看上去更加清晰,易于我们分析

weixin_44853840的博客 5382

【实战篇导读】四足机器人运动控制导读

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对四足机器人运动运动控制系统及相关算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章主要介绍了波士顿spot机器人的发展历史、四足机器人的硬件系统及电机执行器组成包括硬件系统、关节电机执行器,机载传感器机处理器及电气连接等。概述了四足机器人规划控制、感知、定位及局部地图的相关算法方向。

qq_35635374的博客 678

【五月集训】第02天 —— 字符串

五月集训 第二天 字符串

ChaunceyPeng的博客 482

爬虫实战:拆解WASM加密参数,破局2026电商动态接口反爬(实测某头部电商可用)

sign和wasm_token,而且每次请求这两个参数都在动态变化。用常规的参数拼接、MD5加密尝试还原,结果全是403;反编译前端JS,发现核心加密逻辑被打包成了.wasm,把关键参数加密、签名逻辑藏在二进制模块里,让爬虫无法直接逆向JS拿到加密规则。前后折腾了5天,从WASM文件解析、JS与WASM交互逻辑拆解,到本地还原加密参数、实战验证,踩了无数坑(比如WASM版本不兼容、内存数据读取失败、加密依赖环境缺失),最终成功还原了加密流程,稳定爬取商品详情、价格、销量等核心数据,连续运行72小时无封禁。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1909

python字符串相关习题

目录 1、判断下面标识符是否合法并说明不合法的原因 2、从控制台输入圆的半径,计算周长和面积, π=3.14 3、一辆汽车以40km/h的速度行驶,行驶了4567.89km,求所用的时间 4、华氏温度转摄氏温度 5、入职薪水10K,每年涨幅入职薪水的5%,50年后工资多少? 6、为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时? 7、给定一个5位数,分别把这个数字的万位,千位,百位、十位、个位算出来并显示。 8、总共有5678秒, 转换成多少小时,多少分钟, 多少秒 ...

前景 9432

CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)

手动拖拽的方式搭建Qt对话框界面的制作流程,以PCL中的点云区域生长算法为例进行制作。

点云侠的博客 2151

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python字符串相关操作

前面学习过了字符串的基本知识,下面我们来聊聊字符串的一系列操作吧 字符串相关操作 python提供5个字符串基本操作符: + ————>x+y:用于连接两个字符串x和y * ————>nx或xn:(n为整数)复制n次字符串x in ————> x in s: 如果x是s的子串返回True,否则返回False []————>str[i]:索引,返回第i个字符 str[n:m] ————>切片操作,返回区间为n到m的子串,区间左闭右开即不包括第m个字符。 a="zmj" b=

zmj11_的博客 647

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python常用字符串操作_Python 101: 和字符串相关的常用操作

如果你正在找一个轻松愉快,但又紧凑高效的Python视频,Python 101这个系列就是专门为你设计的。我们会以一个开发者理解编程语言的视角,向大家完整介绍Python语言本身、Python标准库、如何使用Python编写常用的代码片段、以及如何管理和发布你的Python代码。现如今,Python已经成为了AI领域最炙手可热的编程语言,无论你手头的工作是否会用到Python,这绝对都是值得投资的...

weixin_39849671的博客 158

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

2.【Python编程】字符串String相关知识及基本操作

python字符串相关知识及基本操作

陈艺荣 1049

python字符串操作编程题_Python编程之string相关操作实例详解

本文实例讲述了Python编程之string相关操作。分享给大家供大家参考,具体如下:#coding=utf8'''''字符串是Python中最常见的类型。可以通过引号见包含字符的方式创建。Python里面单引号和双引号的作用是相同的。字符串是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成,并且这些字符可以通过切片操作顺序地访问。'''class Strin...

weixin_39788382的博客 176

python字符串基本操作符_【编程】Python基本字符串操作

字符串是字符组成的序列。有几个处理字符串的算法,包括查找,排序,比较,变换。Python 字符串不可更改的,也就是字符串被创建后不能被改变。将一个字符序列用单引号,或者双引号,三引号括起来,并赋值给一个变量,就定义了一个字符串。str = ‘Hellow World!’str = “Hellow World!”str = “””Sunday Monday Tue...

weixin_39859220的博客 422

Python初学者看这一篇就够了【9】——字符串基础知识及相关编程练习

本文是Python字符串知识总结。开篇点明字符串是不可变字符序列,支持索引等操作。随后详述字符串操作方法,如大小写转换(upper、lower等)、查找替换(find、replace )、去空白(strip 等)、分割连接(split、join )、检查判断(startswith等)、对齐填充(ljust等)以及Unicode编码转换(chr、ord )。最后给出回文判断、进制转换等8道编程练习题,助于理解与实践Python字符串相关知识。

2302_81303859的博客 1208

实验四,字符串的基本操作(Python,头歌)

Python初探

weixin_62174595的博客 6862

Python字符串全面指南:从基础到高级操作

本文全面介绍了Python字符串的各个方面,包括:字符串的基本概念和创建方式字符串编码和解码字符串的基本操作(拼接、重复、索引、切片等)字符串常用方法(查找、替换、分割、判断等)字符串格式化(%格式化、str.format、f-strings)实际应用示例性能优化建议掌握这些字符串操作技巧,将大大提高您的Python编程效率和代码质量。字符串处理是编程中的基础技能,希望本文能帮助您全面理解并熟练运用Python字符串。

q_cccc_的博客 1586

Python 字符串相关的一些基本操作

1、字符串的基本操作操作 1、连接字符串 >>> first_name = 'Tom' >>> last_name = 'Smith' >>> first_name + last_name 'TomSmith' # 为了美观这里可以在fist_name和last_name中间加一个' ' >>> first_name + ' ' + last_name 'Tom Smith' # 这里还可用str.join方法进行添加,不过它是将字

lisenhui 208

字符串相关leetcode—python实现

1、替换空格 (1)题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 (2)思路:将字符串转换成list的形式进行处理,用join的方式将list转化成string形式 (3)实现代码: def replaceSpace(self, s): s = list(s) n=len(s) ...

奋斗应该是年轻的状态! 799

Python基础:字符串的切片操作(含正向反向索引)

Python字符串切片操作指南 本文介绍了Python字符串切片操作的核心概念与技术要点。字符串切片是Python编程中处理文本数据的重要技能,它允许开发者通过索引高效提取子字符串。 核心内容: 正向索引(0开始)和反向索引(-1开始)的使用方法 切片语法格式:[start:end:step] 实际应用场景包括数据处理、文本分析和字符串处理 技术要点: 掌握基础切片操作(如str[2:5]) 理解步长参数的使用(如str[::-1]反转字符串) 熟悉边界条件处理 通过示例代码演示了字符串切片在文本处理中的典

未来 95% 的 AI 应用将变得隐形,广泛融入日常生活。 7046
上一篇: Python中的哈希表相关操作
下一篇: Python编程:优先队列相关操作
Next2you
博客等级 码龄7年 1238粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Next2you

你真帅!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值