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

python学习笔记【1】对字符串的处理

一、反转字符串

代码

def reverse_str(original_string):reverse_string = []for char in original_string:reverse_string.insert(0,char)return ''.join(reverse_string)print(reverse_str("qwertyuiop"))

注释 

# 定义函数
def reverse_str(original_string):
# 定义一个空列表reverse_string = []
# 进循环 遍历字符串for char in original_string:
# 从空列表的0处开始插入reverse_string.insert(0,char)
# 返回的时候把空列表转为字符串return ''.join(reverse_string)print(reverse_str("Hello"))

详解关键步骤

# 从空列表的0处开始插入reverse_string.insert(0,char)

这里是调用了insert()函数, 是从空列表reverse_string的标号0处开始插入每一个char.

insert() 方法解析
  • 效果:后续插入的字符会不断推前,形成反转顺序。
    示例:字符串"abc"的构建过程:

    • 插入'a' → ['a']

    • 插入'b' → ['b', 'a']'a'后移)

    • 插入'c' → ['c', 'b', 'a']'b''a'后移)

# 返回的时候把空列表转为字符串return ''.join(reverse_string)

这里使用了  ' '.join()方法

''.join() 方法解析
  • 作用:将序列中的字符串元素连接成新字符串

  • 语法分隔符.join(可迭代对象)

  • 本例

    • 分隔符:''(空字符串 → 元素直接相连无间隙)

    • 可迭代对象:reversed_chars(存储反转字符的列表)

2. 执行流程示例(以 ['d', 'l', 'r', 'o', 'w'] 为例)

步骤操作内存变化
1创建空字符串''
2添加第一个字符 'd''d'
3添加第二个字符 'l''dl'
4添加第三个字符 'r''dlr'
5添加第四个字符 'o''dlro'
6添加第五个字符 'w''dlrow'

二、移除字符串

输入一个字符串和一个字符,移除字符串中所有的该特定字符,并返回

示例 1

输入

["Hello World", "l"]

输出

Heo Word

 代码

def remove_char(input_string, char_to_remove):result = []for char in input_string:if(char != char_to_remove):result.append(char)return ''.join(result)
print(remove_char("Hello World","l"))

详解关键步骤

 append() 方法解析
  • append():固定在列表末尾添加元素。
  • insert():可在指定位置插入元素。

append ()可以实现正向的列表赋值

  • 效果:后续插入的字符会不断向后推,形成正顺序。
    示例:字符串"abc"的构建过程:

    • 插入'a' → ['a']

    • 插入'b' → ['a', 'b']'a'前移

    • 插入'c' → ['a', 'b', 'c']'a''b'前移)

三、替换字符串

使用replace函数

def replace_substring(input_string, old_substring, new_substring):# 使用字符串的replace方法将子字符串替换为新字符串result_string = input_string.replace(old_substring, new_substring)return result_string
print(replace_substring("Hello World", "Hello", "Hi"))

http://www.dtcms.com/a/276602.html

相关文章:

  • 网络安全day1-2笔记
  • kettle从入门到精通 第101课 ETL之kettle DolphinScheduler调度kettle
  • RAG进阶之术:用“父子Chunk”策略破解复杂查询的“上下文迷局”
  • Win11怎样进入WinRE恢复环境
  • 并发--Callable vs Runnable
  • 深入理解 Boost.Asio 中的异步核心 boost::asio::io_context
  • AI智能体|扣子(Coze)搭建【裸眼3D著名故事动画视频】工作流
  • NOIP普及组|2005T1淘淘摘苹果
  • 常用控件QWidget
  • 部署Harbor私有仓库
  • 第五章 RAG知识库进阶
  • Java项目2——增强版飞机大战游戏
  • Linux:信号
  • Redis持久化机制:RDB和AOF
  • 【面试八股文】2025最新软件测试面试
  • 多模态数据解压-Parquet
  • 【数据结构初阶】--顺序表(三)
  • 咨询导览,AI发展趋势
  • 三维点云Transformer局部感受野构建:理论、方法与挑战
  • 【图像处理基石】如何入门大规模三维重建?
  • 宁德时代2025年社招入职Verify测评语言理解数字推理考点及SHL测评真题整理
  • Augmented Nested Arrays With Enhanced DOF and Reduced Mutual Coupling
  • C++面试问题集锦
  • Linux系统编程——目录 IO
  • C++ 算法题常用函数大全
  • 独立开发第二周:构建、执行、规划
  • 数智管理学(三十二)
  • ATE-市场现状及趋势
  • AI:机器人行业发展现状
  • 用 Jpom 10 分钟搭好一套轻量级 CICD + 运维平台