Python - 数据容器str(字符串)

简介: Python - 数据容器str(字符串)

字符串的定义

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

从前向后,下标从0开始 ;从后向前,下标从-1开始

值得注意的是同元组一样,字符串是一个:无法修改的数据容器。所以有关字符串的任何修改操作都是错误的;

如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改

字符串的常用操作

查找特定字符串的下标索引值 index

my_str="ab cde fg 123"
num="0123456789"
print(my_str.index("fg"))

7

字符串的替换 replace

  • 语法:字符串.replace(字符串1,字符串2)      
  • 功能:将字符串内的全部:字符串1,替换为字符串2      
  • 注意:不是修改字符串本身,而是得到了一个新字符串
my_str="about above"
new_str=my_str.replace("ab","AB")
print(my_str)
print(new_str)

about above

ABout ABove

字符串本身并没有发生变化,而是得到了一个新字符串

字符串的分割 split

  • 语法:字符串.split(分隔符字符串)      
  • 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中      
  • 注意:字符串本身不变,而是得到了一个列表对象
my_str="about above    abandon abject"
new_str=my_str.split(" ")
print(my_str)
print(new_str)
print(type(new_str))

about above    abandon abject

['about', 'above', '', '', '', 'abandon', 'abject']

<class 'list'>


可见,字符串按照给定的 <空格>进行了分割,变成多个子字符串,并存入一个列表对象中


值得注意的是,如果存在连续的分割符,会将所有的分割符去除,除第一个分割符外,其余n-1分割符生成n-1个空字符串(若分割符在第一个,则第一个分割符也生成空串)

my_str1="a"
my_str2="abaac"
new_str1=my_str1.split("a")
new_str2=my_str2.split("a")
print(new_str1)
print(new_str2)

['', '']

['', 'b', '', 'c']


字符串的规整操作 strip

语法:字符串.strip()(去前后空格与转行符)

my_str="    about above    abandon abject  "
new_str=my_str.strip()
print(my_str)
print(new_str)

   about above    abandon abject  

about above    abandon abject

语法:字符串.strip(字符串) (去前后指定字符串)

my_str="6a 1234567890 6a66baaab6a66ba6b"
new_str=my_str.strip("6ab")
print(my_str)
print(new_str)

6a 1234567890 6a66baaab6a66ba6b

1234567890

将前后含有字符串内容的字符去除,以不在字符串中的任意字符为分隔

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

my_str="about above abandon abject"
new_str=my_str.count("ab")
print(my_str)
print(new_str)
print(type(new_str))

about above abandon abject

4

<class 'int'>


每个字符只能算一次

my_str="a6aa6aa6aa"
new_str=my_str.count("a6aa")
print(my_str)
print(new_str)

a6aa6aa6aa

2

统计字符串的长度 len

数字(1、2、3...)

字母(abcd、ABCD等)

符号(空格、!、@、#、$等)

中文(文字和符合)

都算1个字符长度

 my_str="123#$%^wdkj哈哈是 ~!、E(?/"
 print(len(my_str))

22

字符串切片 [起始下标:结束下标:步长]

切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长]

此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)


起始下标与结束下标为左闭右开区间  [左,右) #注意不是[始,末)

my_str="0123456789"
print(my_str[:])#从头开始,到最后结束,步长1
print(my_str[1:5:1])#下标1开始,下标5(不含)结束,步长1
print(my_str[:4:2])#从头开始,到下标4(不含)结束,步长2
print(my_str[::2])#从头开始,到最后结束,步长2
print(my_str[::-1])#从头(最后)开始,到尾结束,步长-1(倒序)
print(my_str[6:1:-1])#从下标6开始,到下标1(不含)结束,步长-1(倒序)
print(my_str[:1:-2])#从头(最后)开始,到下标1(不含)结束,步长-2(倒序)

0123456789

1234

02

02468

9876543210

65432

9753

image.png

相关文章
|
8天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
18天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
37 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
18天前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
37 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
19天前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
48 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
6天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
21 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
17天前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
42 7
|
15天前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
36 2
|
15天前
|
JSON 安全 数据安全/隐私保护
深度剖析:Python如何运用OAuth与JWT,为数据加上双保险🔐
【10月更文挑战第10天】本文介绍了OAuth 2.0和JSON Web Tokens (JWT) 两种现代Web应用中最流行的认证机制。通过使用Flask-OAuthlib和PyJWT库,详细展示了如何在Python环境中实现这两种认证方式,从而提升系统的安全性和开发效率。OAuth 2.0适用于授权过程,JWT则简化了认证流程,确保每次请求的安全性。结合两者,可以构建出既安全又高效的认证体系。
33 1
|
11天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
34 5
|
4天前
|
存储 Kubernetes C++
Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
随着容器技术的快速发展,容器编排工具成为了现代软件开发和运维的重要环节。在众多容器编排工具中,Kubernetes和Docker Swarm无疑是最受欢迎的两个。本文将从技术特性、易用性和社区支持三个方面,对Kubernetes和Docker Swarm进行比较,以帮助您选择更适合您需求的容器编排工具。
19 3