news 2026/9/15 12:14:14

Python中的数据序列其一

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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开发者精进之路上的关键一步。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 8:06:27

专利检索漏查1个参数,千万研发卡壳量产线

某新能源设备企业耗时两年、投入1200万研发的储能电池模块&#xff0c;在量产前的检测中被技术团队紧急叫停——核心的“电极涂层厚度控制技术”&#xff0c;与南方一家企业的专利保护范围高度重合。复盘检索记录发现&#xff0c;团队当初只搜了“储能电池 电极涂层”大类&…

作者头像 李华
网站建设 2026/9/14 17:06:31

自动化测试团队效率提升指南

在数字化转型加速的2025年&#xff0c;软件交付周期持续压缩&#xff0c;自动化测试已成为质量保障的核心环节。然而&#xff0c;许多测试团队正面临脚本维护成本高、环境稳定性差、技术债累积等效率瓶颈。本指南结合行业最佳实践&#xff0c;为测试从业者提供一套从工具链优化…

作者头像 李华
网站建设 2026/9/15 0:51:58

LobeChat能否通过等保测评?国内合规性达标

LobeChat能否通过等保测评&#xff1f;国内合规性达标 在人工智能加速渗透企业服务的今天&#xff0c;越来越多组织开始部署基于大语言模型&#xff08;LLM&#xff09;的智能助手系统。从客服问答到内部知识检索&#xff0c;这类应用正逐步承担起关键业务支持角色。然而&#…

作者头像 李华
网站建设 2026/9/14 22:05:01

paperzz AI 期刊论文功能实测:从 “标题输入” 到 “期刊适配提纲”,学术写作如何少走格式与逻辑的弯路?

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 期刊论文https://www.paperzz.cc/journalArticle 对于初涉期刊论文写作的研究者而言&#xff0c;最耗时的往往不是内容创作&#xff0c;而是 “摸准期刊的格式规范”“搭好符合学术逻辑的提纲”…

作者头像 李华
网站建设 2026/9/14 19:01:29

Linux系统安装nginx

一 确认安装的版本首先需要先确认服务器是什么系统什么版本以及架构&#xff0c;选择对应版本的nginx rpm1 查看系统cat /etc/os-release2 查看架构uname -m # 查看架构&#xff08;x86_64, arm, aarch64等&#xff09;二 手动根据rpm安装# 基本安装 rpm -ivh package.rpm…

作者头像 李华