当前位置: 首页 > news >正文

python数据结构-字符串

什么是字符串?

字符串是在任何编程语言中都非常重要的一种数据类型。

在 Python 中,字符串是由引号包裹的任意字符组成的不可变序列,用于表示文本类型数据。

字符串定义

字符串可以通过使用 单引号 或 双引号 或 三引号 来定义,用于表示文本信息,如姓名、消息等。

# 使用单引号定义字符串: name = 'Alice' # 使用双引号定义字符串: message = "Hello, world!" # 使用三引号定义字符串 sql_string = """select * from user where name='tom';"""

转义字符

转义字符在字符串中用于表示一些特殊字符或序列,以及插入难以直接输入的字符。

常见的转义字符包括:\n 表示换行符,\t 表示制表符,\" 表示双引号,\' 表示单引号,\\ 表示反斜杠。

通过使用转义字符,可以在字符串中插入特殊字符或表示这些无法直接输入的内容。

message = "Hello\nWorld!" print(message) # output: # Hello # World!

字符串下标

下标是指从 0 开始的数字编号,也称为索引。

在字符串中,每一个字符都会对应一个下标,通过下标可以获取字符串中该下标对应的字符

语法格式:字符串对象[下标]

s = "hello" print(s[0]) print(s[3]) print(s[5]) # 该行代码会报错

注意: 下标在使用时,不能大于等于该字符串所有字符的个数,否则会产生下标越界错误。

字符串操作

字符串是在每一门编程语言中都非常重要的数据类型,同时对于字符串也提供了丰富的操作函数。

下面将 Python 中提供的字符串常用函数进行分类讲解

注意

所有的字符串操作,都不会影响原字符串本身,每次操作后都会得到一个操作后的新字符串对象

统计查找替换类

  • len() 用来获取参数字符串的字符个数,该函数并不是字符串类型特有的,而是一个通用函数

    重点掌握

    格式: len(obj)

    length = len("Hello") print(length) length = len("Hello World") print(length)
  • count() 返回 str 在 string 里面出现的次数,如果 start 或者 end 指定则返回指定范围内 str 出现的次数

    格式: count(str, start, end),注意范围区间为[start, end)

    s = "hello world hello Python" n = s.count("o") print(n) n = s.count("O") print(n) n = s.count("or") print(n) n = s.count("o",10,30) print(n)
  • index() 检测 sub(子字符串) 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果有则返回第一次出现sub(子字符串) 的索引值,否则抛出一个异常

    格式: index(sub, start, end),注意范围区间为[start, end)

    s = "Hello" print(s.index("l")) print(s.index("l",0,3)) # 区间使用下标位置,左闭右开区间 print(s.index("k"))
  • rindex() 作用同 index(),查找子串时从右侧查找,若找不到会抛出一个异常

    格式: rindex(sub, start, end),注意范围区间为[start, end)

    s = "Hello" print(s.rindex("l")) # 3 print(s.rindex("l",0,3)) #2 print(s.rindex("k")) #异常 s = "Hello world" print(s.rindex("l")) # 9 print(s.rindex("l",0,5)) # 3 print(s.rindex("k")) #异常
  • find() 检测 sub 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回第一次出现的索引值,否则返回 -1

    重点掌握

    格式: find(sub, start, end),注意范围区间为[start, end)

    s = "Hello" print(s.find("l")) # 2 print(s.find("l",0,3)) # 2 print(s.find("k")) # -1
  • rfind() 作用同 find(),查找子串时从右侧查找,若找不到返回 -1

    格式: rfind(sub, start, end),注意范围区间为[start, end)

    s = "Hello world" print(s.rfind("l")) # 9 print(s.rfind("l",0,5)) # 3 print(s.rfind("k")) # -1
  • replace() 把 string 中的 old 替换成 new,如果 max 指定,则替换不超过 max 次.

    重点掌握

    格式: replace(old, new, max)

    s = "Hello Hello Hello" print(s.replace("ll","LL")) #HeLLo HeLLo HeLLo print(s.replace("l","L",4)) #HeLLo HeLLo Hello

字符串判断类

  • startswith() 检查字符串是否是以 prefix 开头,是则返回 True,否则返回 False。如果 start 和 end 指定值,则在指定范围内检查.

    重点掌握

    格式: startswith(prefix, start, end),注意范围区间为[start, end)

    url = "https://www.baidu.com" print(url.startswith("https://")) print(url.startswith("https://", 0, 3)) print(url.startswith("https://", 5, 30))
  • endswith() 检查字符串是否是以 suffix 结束,是则返回 True,否则返回 False。如果 start 和 end 指定值,则在指定范围内检查.

    重点掌握

    格式: endswith(suffix, start, end),注意范围区间为[start, end)

    url = "https://www.bai
http://www.jsqmd.com/news/499588/

相关文章:

  • MMDOCIR: Benchmarking Multimodal Retrieval for Long Documents
  • APM使用LUA脚本发送实现遥控器PWM信号输出CAN协议信号
  • 广义预测控制(MPGC)在水下机器人中的应用——一场控制算法的探索
  • 卷积神经网络(CNN)在音频特征提取中的角色:SenseVoice-Small模型技术探秘
  • 圣女司幼幽-造相Z-Turbo保姆级教程:cat日志定位问题+Gradio端口映射调试
  • 机器学习创新探索
  • mysql,设置auto_increment
  • KCF算法中的公式如何带入以及C语言实现
  • 零基础搭建免费IP代理池:从原理到实战的保姆级指南
  • 快速入门!Xinference-v1.17.1部署实战:轻松搭建个人AI助手
  • PROJECT MOGFACE跨平台文档生成:替代Typora的智能Markdown写作体验
  • 从接口到业务协同:看懂 SAP 集成与 API 的底层逻辑
  • 神经符号AI:让机器人“能思考、会解释”的下一代控制范式
  • 082手机商城管理系统-ssm
  • LangGraph 核心概念
  • Stable Diffusion v1.5 在内容创作中的应用:快速生成文章插图与创意配图
  • 从接口目录到企业级集成中枢:读懂 SAP Business Accelerator Hub 的真正价值
  • Flet实战:教你用Python打造跨平台Todo应用(支持Win/Mac/Linux)
  • 程序员常见的职业病与预防
  • 从开题到答辩,这些毕业神器让你少走弯路
  • 从业务语义到可用应用:在 SAP Fiori 中创建自定义业务对象的完整思路
  • MySQL Explain 执行计划性能优化
  • APF仿真双闭环电能质量锁相环的模型与学习——附带参考文献
  • 高清对比图集:Z-Image-Turbo_Sugar脸部Lora在不同分辨率下的生成质量极限测试
  • uniapp+微信公众号H5开发:5分钟搞定静默授权本地调试(附Nginx配置)
  • 【开题答辩全过程】以 基于Java的简单web服务器的设计与实现为例,包含答辩的问题和答案
  • LiuJuan20260223Zimage效果可视化:生成图分辨率、细节还原度、风格一致性实测报告
  • 告别截图!3分钟搞定Markdown插入Excel表格的懒人方法
  • HAR数据集全景解析:从经典基准到前沿应用
  • 国外大厂的逆向ADC电路,LTC2255,14bit pipelined adc。 电路只有部...