目录
前言
一、字符串
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开发者精进之路上的关键一步。