Python学习——【4.3】数据容器:str字符串

文章目录

  • 【4.3】数据容器:str字符串
    • 一、再识字符串
    • 二、字符串的下标(索引)
    • 三、字符串的常用操作
    • 四、字符串的遍历
    • 五、字符串的特点

【4.3】数据容器:str字符串

一、再识字符串

  虽然之前已经学习过字符串,但此处我们需要以数据容器的视角重新认识一下字符串。

  尽管字符串看起来不像列表、元组那样,一看就是存放了许多数据的容器。但不可否认的是,字符串同样也是数据容器的一员。

  字符串是字符的容器,一个字符串可以存放任意数量的字符。

二、字符串的下标(索引)

  和其他容器,如列表、元组一样,字符串也可以通过下标进行访问。

  1.从前向后,下标从0开始递增;

  2.从后向前,下标从-1开始递减。

# 通过下标获取特定位置字符
name = "zhangsan"
print(name[0])  # z
print(name[-1])  # n

  另外一个方面来说,我们知道列表是可修改的,元组是不可修改的。那么字符串是可修改还是不可修改的呢?

  同元组一样,字符串是一个无法修改的数据容器。

  所以,例如:

  1.修改指定下标的字符,如str[0] = "a"

  2.移除特定下标的字符,如del str[0]、str.remove()、str.pop()

  3.追加字符,如str.append()等操作。

  **均无法完成。**如果必须要做,我们只能去得到一个新字符串,而不能修改老字符串。

三、字符串的常用操作

image-20240922211251000

  • 查找特定字符串的下标索引值
# 语法
字符串.index(字符串)

  示例:

my_str = "A and B"
print(my_str.index("and"))  # 2
  • 字符串的替换
# 语法
字符串.replace(字符串1, 字符串2)

  功能:将字符串内的全部字符串1替换为字符串2

  注意:不是修改字符串本身,而是得到了一个新的字符串。

  示例:

my_str = "A and B and C"
new_my_str = my_str.replace("and", "&")
print(f"将字符串{my_str}进行替换后得到{new_my_str}")  # 将字符串A and B and C进行替换后得到A & B & C

  从上面例子也可看出,我们在输出my_str时,它仍然是老字符串的原本内容,说明老字符串的内容并没有被修改,而只是返回得到了一个新字符串。

  • 字符串的分割
# 语法
字符串.split(分隔符字符串)

  功能:按照分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。

  注意:字符串本身不变,而是得到了一个列表对象

  示例:

my_str = "hello A B C"
my_str_list = my_str.split(" ")
print(f"将字符串{my_str}进行split切分后得到:{my_str_list}")  # 将字符串hello A B C进行split切分后得到:['hello', 'A', 'B', 'C']
  • 字符串的规整操作 — 去前后空格
# 语法
字符串.strip()

  示例:

my_str = "   A and B   "
print(my_str.strip())  # A and B
  • 字符串的规整操作 — 去前后指定字符串
# 语法
字符串.strip(字符串)

  示例:

my_str = "123  A and B  321"
print(my_str.strip("123"))  # "  A and B  "

  注意:传入的虽然是“123”,但其实是按照单个字符,即“1”、“2”、“3”进行移除的,所以“321”也会被移除。

  • 统计字符串中某字符串的出现次数

  示例:

my_str = "A and B and C"
count = my_str.count("and")
print(f"字符串{my_str}中and出现的次数是:{count}")
  • 统计字符串的长度

  示例:

my_str = "A and B and C"
num = len(my_str)
print(num)  # 13

四、字符串的遍历

while循环

my_str = "zhangsan"
index = 0
while index < len(my_str):print(my_str[index])index += 1

for循环

my_str = "zhangsan"
for i in my_str:print(i)

五、字符串的特点

  作为数据容器,字符串有如下特点:

  1.只可以存储字符串;

  2.长度任意(取决于内存大小);

  3.支持下标索引;

  4.允许重复字符串存在;

  5.不可以修改;

  6.支持for循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148530.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

自制工具 | 局域网文本、文件传输与共享,跨设备剪切板(预览版)

本文将介绍一款自制文本和文件传输工具&#xff0c;可实现局域网内文本/文件传输与共享。支持传输文本&#xff0c;可一键复制、粘贴&#xff0c;文本字数无限制&#xff0c;以缩略形式展示。支持传输文件&#xff0c;文件大小无限制。工作在局域网&#xff0c;含操作校验&…

买家账号被feng?探讨亚马逊、Lazada和速卖通的解决方案

账号登录的安全注意事项 当亚马逊买家账号在多个手机或电脑上进行登录时&#xff0c;这些设备的独特硬件网络参数&#xff0c;如设备型号、地区码、监管码、主板码、WIFI地址等&#xff0c;均会被亚马逊系统读取并记录。特别是在风控加强期间&#xff0c;平台会深入分析这些参…

MemFire Cloud,让Coding更丝滑

作为一个开发者&#xff0c;每天与代码打交道的你&#xff0c;是否总觉得开发流程太繁琐&#xff1f;后端搭建复杂&#xff0c;接口设计麻烦&#xff0c;甚至连数据库配置都让你心烦不已。别担心&#xff0c;今天要给你推荐一个真正能让开发变得丝滑的工具——MemFire Cloud。如…

【Python数据分析】pandas apply自定义函数+分组操作+分析案例

文章目录 1.apply()1.1函数 操作series对象1.2 apply()函数 > 操作DataFrame对象1.3 向量化函数1.4 apply()函数的案例-泰坦尼克号数据集1.5 apply()函数 结合 lambda表达式使用. 2. 分组操作2.1 分组 聚合操作2.2 分组 转换2.3 分组 过滤2.4 DataFrameGroupby df的分组对…

Java面试题大全(全网最全,持续更新)中级(2)

1. 集合与泛型 1.1. 什么是泛型&#xff1f;泛型的优势是什么&#xff1f; 泛型允许类、接口和方法在定义时不指定具体的类型&#xff0c;在使用时再指定类型。优势&#xff1a; 提高代码复用性。提供类型安全&#xff0c;避免强制类型转换带来的 ClassCastException。 pub…

word批量裁剪图片,并调整图片大小,不锁定纵横比

在word中有若干图片待处理&#xff0c;裁剪出指定内容&#xff0c;调整成指定大小。如下是待处理的图片&#xff1a; 这时&#xff0c;选择视图&#xff0c;选择宏&#xff0c;查看宏 选择创建宏 添加cut_picture代码如下&#xff0c;其中上、下、左、右裁剪的橡塑尺寸根据自己…

李飞飞创业公司World Labs:引领AI新方向的“大世界模型”

引言 随着人工智能的不断进步&#xff0c;AI领域涌现了许多新兴技术和研究方向。在这其中&#xff0c;李飞飞创办的World Labs凭借其独特的“空间智能”和“大世界模型”&#xff08;Large World Model, LWM&#xff09;理念&#xff0c;迅速成为焦点。尤其是在获得了2.3亿美元…

系统架构设计师教程 第10章 10.5 软件架构演化评估方法笔记

10.5 软件架构演化评估方法 ★★★☆☆ 10.5.1 演化过程已知的评估 目的在于通过对架构演化过程进行度量&#xff0c;比较架构内部结构上的差异以及由此导致的外部质量属性上的变化&#xff0c;对该演化过程中相关质量属性进行评估。 1.评估流程 架构演化评估的基本思路是将架…

IDEA快速查看类中有那些方法的快捷键

IDEA快速查看类中有那些方法的快捷键 1.显示类结构弹出窗口 你可以使用以下快捷键来快速查看当前类的方法和成员&#xff1a; Windows/Linux: Ctrl F12 macOS: Option F12 或 ⌥ F12 这会打开一个弹出窗口&#xff0c;显示当前类的结构&#xff0c;包括方法、字段、构造函…

派可数据:解锁数据潜力,驱动业务价值新增长

前 言 当前&#xff0c;企业数字化转型经过初始探索阶段&#xff0c;各行各业进入高速发展百花齐放的创新应用新阶段。创新应用阶段的核心是企业应用先进的数字技术和工具&#xff0c;对企业多年在全领域积累的各类数据&#xff0c;包括财务、业务、生产、设计、设备、工艺等结…

车载应用的多功能需求与公安、金融等行业的应用特点

随着科技的快速发展&#xff0c;车载应用的功能需求也日益多样化。除了基本的视频监控功能外&#xff0c;现代车载应用还需满足一系列高级功能&#xff0c;如无线网络视频监控、GPS卫星定位、车辆调度、语音报站、行驶信息记录以及多媒体娱乐广告播放等。这些功能在公安、金融等…

Vue 实战教程:从 0 到 1 手把手打造新手友好的聊天应用,附完整开源代码,快速上手前端开发!(包含发送消息、发送表情包、发送文件、下载文件、截图等功能)

b站视频演示效果&#xff1a; 效果图&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8" /><title>简单聊天功能示例</title><!-- 引入 Vue.js&#xff08;通过 …

深度优先搜索算法及其matlab程序详解

#################本文为学习《图论算法及其MATLAB实现》的学习笔记################# 深度优先搜索算法(DepthFirst Search),简记DFS算法,是图论中的首要算法,其思想方法渗透到图论中的许多算法之中,尤其是DFS算法在求生成树、割点、块和平面图嵌入算法中起着极为关键的作用。…

开源ids snort (windows版)

Snort-IPS-on-Windows-main资源-CSDN文库 GitHub - eldoktor1/Snort-IPS-on-Windows: A comprehensive guide to installing and configuring Snort IPS on Windows, ensuring robust network security 解压后安装 npcap-1.75.exe Snort_2_9_20_Installer.x64.exe 安装后cm…

MiniMind环境搭建训练推理测试

引子 写了那么多篇大模型环境搭建推理部署的blog&#xff0c;如果没记错有几篇就是因为GPU资源hold不住&#xff0c;没有无法得到最终结果的&#xff08;智谱AI GLM-4V-9B视觉大模型环境搭建&推理-CSDN博客&#xff09;。我个人一直觉得大模型发展最终还是要走向端侧&…

8591 计算next值

### 思路 1. **录入字符串**&#xff1a;读取用户输入的字符串个数 n&#xff0c;然后逐个读取每个字符串。 2. **计算NEXT值**&#xff1a;对于每个字符串&#xff0c;计算其NEXT数组。 3. **输出NEXT值**&#xff1a;输出每个字符串对应的NEXT数组。 ### 伪代码 function g…

DevExpress WPF中文教程:如何解决行焦点、选择的常见问题?

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

环境部署-环境变量

环境部署-环境变量 1、python设置查找环境变量2、linux设置设置查找环境变量 仅个人笔记使用&#xff0c;感谢点赞关注 1、python设置查找环境变量 python设置环境变量 import os os.environ["PYTHONPATH"] "/path/to/library"python获取环境变量 MYS…

AI时代最好的编程语言应该选择谁?

在AI的时代&#xff0c;编程语言的选择对就业机会和薪资水平有着至关重要的影响。C和Python被认为是两个极端的代表语言&#xff0c;分别适用于不同的技术需求和开发场景。然而&#xff0c;选择最有价值的编程语言&#xff0c;不仅要考虑其技术特性&#xff0c;还需要综合考虑行…

【数据结构】你真的了解哈希表吗?看完你会对数据结构——哈希表, 会有更深更全面的认识 (理论篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…