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

相关文章
|
16天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
2天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
14天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
32 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
25天前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
47 7
|
23天前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
40 2
|
23天前
|
JSON 安全 数据安全/隐私保护
深度剖析:Python如何运用OAuth与JWT,为数据加上双保险🔐
【10月更文挑战第10天】本文介绍了OAuth 2.0和JSON Web Tokens (JWT) 两种现代Web应用中最流行的认证机制。通过使用Flask-OAuthlib和PyJWT库,详细展示了如何在Python环境中实现这两种认证方式,从而提升系统的安全性和开发效率。OAuth 2.0适用于授权过程,JWT则简化了认证流程,确保每次请求的安全性。结合两者,可以构建出既安全又高效的认证体系。
38 1
|
索引 Python 容器
Python基础知识10: 容器类型公共方法
Python基础知识10: 容器类型公共方法
123 0
|
9天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
2天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
11 5