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

news/2024/9/22 22:59:58 标签: python, 学习

文章目录

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

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

一、再识字符串

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

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

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

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

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

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

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

python"># 通过下标获取特定位置字符
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

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

  示例:

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

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

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

  示例:

python">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时,它仍然是老字符串的原本内容,说明老字符串的内容并没有被修改,而只是返回得到了一个新字符串。

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

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

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

  示例:

python">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']
  • 字符串的规整操作 — 去前后空格
python"># 语法
字符串.strip()

  示例:

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

  示例:

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

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

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

  示例:

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

  示例:

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

四、字符串的遍历

while循环

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

for循环

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

五、字符串的特点

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

  1.只可以存储字符串;

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

  3.支持下标索引;

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

  5.不可以修改;

  6.支持for循环。


http://www.niftyadmin.cn/n/5670943.html

相关文章

408算法题leetcode--第11天

3. 无重复字符的最长子串 3. 无重复字符的最长子串思路&#xff1a;滑动窗口时间&#xff1a;O(n)&#xff1b;空间&#xff1a;O(字符种类数) class Solution { public:int lengthOfLongestSubstring(string s) {// 滑动窗口&#xff1a;如果没有出现相同的字符&#xff0c;…

sqli-lab靶场学习(三)——Less8-10(盲注、时间盲注)

Less8 第八关依然是先看一般状态 http://localhost/sqli-labs/Less-8/?id1 然后用单引号闭合&#xff1a; http://localhost/sqli-labs/Less-8/?id1 这关的问题在于报错是不显示&#xff0c;那没办法通过上篇文章的updatexml大法处理。对于这种情况&#xff0c;需要用“盲…

Trace纳米侦查无人机技术详解

纳米无人机&#xff0c;作为微型无人机的一种&#xff0c;通常指尺寸和重量都非常小的无人机&#xff0c;其重量一般不超过几百克&#xff0c;甚至更小。这类无人机由于体积小、重量轻&#xff0c;具备高度的隐蔽性和灵活性&#xff0c;在军事侦察、环境监测、搜救行动等领域具…

Poetry超好用python依赖、包管理工具

介绍 Poetry 用一个pyproject.toml 代替 setup.py, requirements.txt, setup.cfg, MANIFEST.in and Pipfile文件。 用过vue的肯定看上去会无比熟悉&#xff0c;类似于package.json文件。 [tool.poetry] name "my-package" version "0.1.0" description…

淘宝npm镜像源更新后,如何正常使用npm命令

文章目录 一. npm命令报错二. 更换淘宝最新npm镜像源三. npm命令使用 一. npm命令报错 使用npm install *****命令 报错 npm error code CERT_HAS_EXPIRED npm error errno CERT_HAS_EXPIRED npm error request to https://registry.npm.taobao.org/express failed, reason: …

Vue的指令v-model的原理

v-model的原理 原理&#xff1a;v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是value属性和input事件的合写。 作用&#xff1a;提供数据的双向绑定 数据变&#xff0c;视图跟着变 :value视图变&#xff0c;数据跟这变 input 注意&#xff1a;$event用于在…

二分查找算法(3) _x的平方根

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 二分查找算法(3) _x的平方根 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 温馨…

【玉米田】

题目 代码 #include <bits/stdc.h> using namespace std; typedef long long LL;const int mod 1e8; const int M 1 << 12; LL f[13][M]; int g[13]; vector<int> state; vector<int> p[M]; int n, m; bool check(int x) {return !(x & x <&…