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

Python中的数据序列其一

目录

前言

一、字符串

1.字符串的定义

2.字符串的切片

3.字符串的操作方法

查找方法

修改方法

判断方法

补充

二、列表

1.列表的定义

2.列表的相关操作

查操作

增操作

删操作

改操作

三、元组

1.元组的定义

2.元组的应用场景

查询方法

总结


前言

在Python编程的舞台上,字符串、列表和元组如同三位各具特长的演员:字符串是不可变的文本诗人,列表是灵活多变的数据管家,元组是稳定可靠的数字契约。它们虽都是序列家族成员,却以不同方式演绎着数据存储与处理的精髓,共同构建了Python数据处理的基础架构。理解它们的特性与差异,是掌握Python编程艺术的关键第一步。


一、字符串

1.字符串的定义

字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。

str1 = 'abcdefg' str2 = "hello world" print(type(str1)) # <class 'str'> print(type(str2)) # <class 'str'>

2.字符串的切片

number = '0123456789' # 1、从2到5开始切⽚,步⻓为1 print(number[2:5:1]) print(number[2:5]) # 2、只有结尾的字符串切⽚:代表从索引为0开始,截取到索引为5的位置(不包含索引为5的数据) print(number[:5]) # 3、只有开头的字符串切⽚:代表从起始位置开始,已知截取到字符串的结尾 print(number[1:]) # 4、获取或拷⻉整个字符串 print(number[:]) # 5、调整步阶:类似求偶数 print(number[::2]) # 6、把步阶设置为负整数:类似字符串翻转 print(number[::-1]) # 7、起始位置与结束位置都是负数 print(number[-4:-1]) # 8、结束字符为负数,如截取012345678 print(number[:-1])

3.字符串的操作方法

查找方法

  • find():检测某个字符串是否包含在这个字符串中,如果在返回这个字符串开始的位置下标,否则则返回-1。
  • index():检测某个字符串是否包含在这个字符串中,如果在返回这个字符串开始的位置下标,否则则报异常。
# 定义⼀个字符串 str1 = 'hello world hello linux hello python' # 查找linux⼦串是否出现在字符串中 print(str1.find('linux')) # 18 # 在str1中查找不存在的⼦串 print(str1.find('and')) # -1 # 定义新的⼀个字符串 str1 = 'apple, banana, orange' # 判断apple是否出现在字符串str1中 print(str1.index('apple')) # 0 print(str1.index('pineapple')) # 报错

修改方法

  • replace():返回替换后的字符串
  • split():返回切割后的列表序列
  • title():所有单词首字母大写
  • upper()与lower():返回全部大写或小写的字符串
str1 = 'hello linux and hello linux' # 把字符串中所有linux字符替换为python print(str1.replace('linux', 'python')) # hello python and hello python # 把字符串中的第⼀个linux进⾏替换为python print(str1.replace('linux', 'python', 1)) # hello python and hello linux # 把and字符串替换为&& print(str1.replace('and', '&&')) # hello linux && hello linux str1 = 'apple-banana-orange' print(str1.split('-')) # ['apple', 'banana', 'orange'] str1 = 'hello linux and hello linux' print(str1.title()) # Hello Linux And Hello Linux print(str1.upper()) # HELLO LINUX AND HELLO LINUX print(str1.lower()) # hello linux and hello linux

判断方法

  • isalpha():检查字符串是否所有字符都是字母则返回 True,否则返回 False
  • isdigit():检查字符串是否所有字符都是数字则返回 True,否则返回 False
str1 = 'linux' str2 = '123' print(str1.isalpha()) # True print(str1.isdigit()) # False print(str2.isalpha()) # False print(str2.isdigit()) # True

补充

  • join()方法:和split()方法正好相反,其主要功能是把序列拼接为字符串
list1 = ['apple', 'banana', 'orange'] print('-'.join(list1)) # apple-banana-orange

二、列表

1.列表的定义

列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]

例子:

list1 = ['apple', 'banana', 'pineapple'] # list列表类型⽀持直接打印 print(list1) # ['apple', 'banana', 'pineapple'] # 打印列表的数据类型 print(type(list1)) # <class 'list'>

2.列表的相关操作

列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:

增、删、改、查

查操作

  • index():指定数据所在位置的下标
  • count():统计指定数据在当前列表中出现的次数
  • in:判断指定数据在某个列表序列,如果在返回True,否则返回False
  • not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回 False
# 1、查找某个元素在列表中出现的位置(索引下标) list1 = ['apple', 'banana', 'pineapple'] print(list1.index('apple')) # 0 # print(list1.index('peach')) # 报错 # 2、count()⽅法:统计元素在列表中出现的次数 list2 = ['刘备', '关⽻', '张⻜', '关⽻', '赵云'] # 统计⼀下关⽻这个元素在列表中出现的次数 print(list2.count('关⽻')) # 2 # 3、in⽅法和not in⽅法(⿊名单系统) list3 = ['192.168.1.15', '10.1.1.100', '172.35.46.128'] if '10.1.1.100' in list3: print('⿊名单IP,禁⽌访问') else: print('正常IP,访问站点信息')

增操作

  • append():增加指定数据到列表中
  • extend():列表结尾追加数据,如果数据是一个序列, 则将这个序列的数据逐一添加到列表
  • insert():指定位置新增数据
names = ['孙悟空', '唐僧', '猪⼋戒'] # 在列表的尾部追加⼀个元素"沙僧" names.append('沙僧') # 打印列表 print(names) # ['孙悟空', '唐僧', '猪⼋戒', '沙僧'] list1 = ['Tom', 'Rose', 'Jack'] # 1、使⽤extend⽅法追加元素"Jerry" # names.extend("Jerry") # print(names) # 2、建议:使⽤extend⽅法两个列表进⾏合并 list2 = ['Hack', 'Jerry'] list1.extend(list2) print(list1) # ['Tom', 'Rose', 'Jack', 'Hack', 'Jerry'] names = ['薛宝钗', '林黛⽟'] # 在薛宝钗和林黛⽟之间,插⼊⼀个新元素"贾宝⽟" names.insert(1, '贾宝⽟') print(names) # ['薛宝钗', '贾宝⽟', '林黛⽟']

删操作

  • del 列表[索引]:删除列表中的某个元素
  • pop():删除指定下标的数据(默认为最后⼀个),并 返回该数据
  • remove():移除列表中某个数据的第⼀个匹配项。
names = ['Tom', 'Rose', 'Jack', 'Jerry'] # 删除Rose del names[1] # 打印列表 print(names) # ['Tom', 'Jack', 'Jerry'] names = ['貂蝉', '吕布', '董卓'] del_name = names.pop() # 或 # del_name = names.pop(1) print(del_name) # 董卓 print(names) # ['貂蝉', '吕布'] fruit = ['apple', 'banana', 'pineapple'] fruit.remove('banana') print(fruit) # ['apple', 'pineapple']

改操作

  • 列表[索引] = 修改后的值:修改列表中的某个元素
  • reverse():将数据序列进行倒叙排列
  • sort():对列表序列进行排序
list1 = ['貂蝉', '⼤乔', '⼩乔', '⼋戒'] # 修改列表中的元素 list1[3] = '周瑜' print(list1) # ['貂蝉', '⼤乔', '⼩乔', '周瑜'] list2 = [1, 2, 3, 4, 5, 6] list2.reverse() print(list2) # [6, 5, 4, 3, 2, 1] list3 = [10, 50, 20, 30, 1] list3.sort() # 升序(从⼩到⼤) # 或 # list3.sort(reverse=True) # 降序(从⼤到⼩) print(list3) # [1, 10, 20, 30, 50]

三、元组

1.元组的定义

元组特点:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。

基本语法:

# 多个数据元组 tuple1 = (10, 20, 30) # 单个数据元组 tuple2 = (10,) # 如果定义的元组只有⼀个数据,那么这个数据后⾯也要添加逗号,否则数据类型为唯⼀的这个数据的数据类型。

元组的应用场景:

  • 函数的参数和返回值,一个函数可以接受任意多个参数,或者依次返回多个数据(了解)
  • 格式化字符串,百分号和format,格式化字符串后面的()本质上就是一个元组
name = '张三' age = 18 address = '北京' print('姓名:%s,年龄:%d,家庭住址:%s' % (name, age, address)) # 姓名:张三,年龄:18,家庭住址:北京
  • 让列表不可以修改,以保护数据安全
  • python操作mysql数据库,返回结果,默认也是元组类型

2.元组的应用场景

由于元组中的数据不允许直接修改,所以其操作方法大部分为查询方法。

查询方法

  • 元组[索引]:根据 索引下标查找元素
  • index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同
  • count():统计指定数据在当前元组中出现的次数
str1 = (1, 2, 3, 4, 5, 3, 3) print(str1[1]) # 2 print(str1.index(2)) # 1 print(str1.count(3)) # 3

总结

Python序列三剑客各司其职:字符串专注不可变文本,列表擅长动态数据管理,元组守护不可变结构。掌握其核心特性与适用场景,是编写高效、清晰Python代码的基石。选择正确的工具,组合运用,便能优雅解决大多数数据组织问题。从理解到熟练运用,是每一位Python开发者精进之路上的关键一步。

http://www.cnnetsun.cn/news/89693.html

相关文章:

  • 专利检索漏查1个参数,千万研发卡壳量产线
  • 自动化测试团队效率提升指南
  • LobeChat能否通过等保测评?国内合规性达标
  • paperzz 降重 / 降 AIGC:从重复率超标到学术合规,高校生论文 “隐形风险” 的解决逻辑
  • paperzz AI 期刊论文功能实测:从 “标题输入” 到 “期刊适配提纲”,学术写作如何少走格式与逻辑的弯路?
  • Linux系统安装nginx
  • Dify Docker部署与模型集成指南
  • @所有科技企业:点击链接直达CES Asia2026奖项申报页,错过免费期成本增加3倍
  • Agent概况
  • 13. 搜索引擎-ES-自动补全
  • 36、基础Web服务器与邮件服务配置指南
  • 永磁同步电机三闭环控制Simulink仿真 电流内环 转速 位置外环 参数已经调好 原理与双闭...
  • ISIS路由的基本配置
  • Unloop:为ADHD与神经多样性人群打造的可视化模式映射工具 | ProductHunt 今日热榜 - 12月16日
  • LED显示屏视频会议价格
  • Kamailio 怎样使用 STIR/SHAKEN
  • COMSOL光学仿真:光镊与光力模型专题解析(三个模型详解、近似算法与张量算法探讨)
  • 北斗导航系统在实际应用中总会遇到各种干扰,尤其是脉冲干扰和窄带干扰特别烦人。今天咱们用Matlab仿真几种典型抗干扰方法,顺便看看代码咋写
  • Qwen3-8B大模型快速部署与实战体验
  • AI 时代,数据湖的“拐点”与展望
  • 使用 TensorRT-LLM 高性能部署大语言模型
  • A/B测试在功能验证中的应用:从理论到实践
  • 创建一个rust写的python库[signatures和错误处理]
  • 震撼!这家全景效果企业如何颠覆传统,让客户体验飙升!
  • JVM性能分析
  • 商家福音!用PHP对接快递鸟接口,一键搞定单号所属快递识别
  • YT29B凿岩机吕梁精准检测稳定性能解析
  • 26、网络连接与安全全解析
  • 2025.12.16 HSRP双机热备
  • 万全智能RFID模块设备他们产品档次怎么样