一、元组
前言:如果想要传递的信息,不被篡改,列表就不能满足条件了
由此当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么我们就引入了元组
1.定义元组
元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
# 定义元组字面量 (元素,元素,......,元素) # 定义元组变量 变量名称 = (元素,元素,......,元素) # 定义空元组 变量名称 = () #方式1 变量名称 = tuple() # 方式2
元组也支持嵌套:
# 元组的嵌套 t1 = ((1, 2, 3), (4, 5, 6)) print(t1[0][0]) # 结果:1
注意事项:
# 定义3个元素的元组 t1 = (1, 'Hello', True) # 定义1个元素的元组 t2 = ('Hello',) # 注意,必须带有逗号,否则不是元组类型,而是字符串类型
注意:元组只有一个数据,这个数据后面要添加逗号
2.元组的相关操作
编号 | 方法 | 作用 |
1 | 元组.index() | 查找某个数据,如果数据存在返回对应的下标,否则报错 |
2 | 元组.count() | 统计某个数据在当前元组出现的次数 |
3 | len(元组) | 统计元组内的元素个数 |
# 根据下标(索引)取出数据 t1 = (1, 2, 'hello') print(t1[2]) # 结果:'hello' # 根据index0),查找特定元素的第一个匹配项 t1 = (1, 2, 'hello', 3, 4, 'hello') print(t1.index('hello')) # 结果:2 # 统计某个数据在元组内出现的次数 t1 = (1, 2, 'hello', 3, 4, 'hello') print(t1.count('hello')) # 结果:2 # 统计元组内的元素个数 t1 = (1, 2, 3) print(len(t1)) # 结果:3
注意事项:
(1)不可以修改元组的内容,否则会直接报错
# 尝试修改元组内容 t1 = (1, 2, 3) t1[0] = 5 TypeError:'tuple' object does not support item assignment
(2)可以修改元组内的list的内容(修改元素、增加、删除、反转等)
# 修改元组内的list的内容 t1 = (1, 2, ['bite', 'Python']) t1[2][1] = 'best' print(t1) #结果:(1, 2, ['bite', 'best'])
元组的遍历和列表一样,在此就不多赘述
3.元组的特点
经过上述对元组的学习,可以总结出列表有如下特点
(1)可以容纳多个数据
(2)可以容纳不同类型的数据 (混装)
(3)数据是有序存储的下标索引)
(4)允许重复数据存在
(5)不可以修改(增加或删除元素等)
(6)支持for循环
多数特性和list一致,不同点在于不可修改的特性
二、字符串
字符串是字符的容器,一个字符串可以存放任意数量的字符
1.字符串的常见操作
编号 | 操作 |
作用 |
1 | 字符串[下标] | 根据下标索引取出特定位置字符 |
2 | 字符串.index(字符串) | 查找给定字符的第一个匹配项的下标 |
3 | 字符串.replace(字符串1,字符串2) | 将字符串内的全部字符串1,替换为字符串2不会修改原字符串,而是得到一个新的 |
4 | 字符串.split(字符串) | 按照给定字符串,对字符串进行分隔不会修改原字符串,而是得到一个新的列表 |
5 | 字符串.strip() 字符串.strip(字符串) |
移除首尾的空格和换行符或指定字符串 |
6 | 字符串.count(字符串) | 统计字符串内某字符串的出现次数 |
7 | len(字符串) | 统计字符串的字符个数 |
显示详细信息
(1)字符串的下标(索引)
从前向后,下标从0开始
从后向前,下标从-1开始
# 通过下标索引取值 my_str = "bite is the best" value = my_str[2] value2 = my_str[-4] print(f"从字符串{my_str}取下标为2的元素值为{value},取下标为-4的元素的值为{value2}") # 结果:从字符串bite is the best取下标为2的元素值为t,取下标为-4的元素的值为b
同元组一样,字符串是一个:无法修改的数据容器
所以:
修改指定下标的字符 (如:字符串[0]=“a”)
移除特定下标的字符 (如:del字符串[0]、字符串.remove()、字符串pop()等)
追加字符等 (如:字符串append0)
均无法完成。如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改
(2)查找特定字符串的下标索引值
语法: 字符串.index(字符串)
my_str = "bite is the best" print(my_str.index("is")) # 结果:5
(3)字符串的替换
语法: 字符串.replace(字符串1,字符串2)
功能: 将字符串内的全部: 字符串1,替换为字符串2
注意:不是修改字符串本身,而是得到了一个新字符串哦
my_str = "itheima and itcast" new_my_str = my_str.replace("it", "go") print(new_my_str) # 结果:goheima and gocast
(4)字符串的分割
语法: 字符串.split(分隔符字符串 )
功能: 按照指定的分隔符字符串,将字符串划分为多个字符串,并存人列表对象中
注意:字符串本身不变,而是得到了一个列表对象
my_str = "bite is the best" my_str_list = my_str.split(" ") print(my_str_list) # 结果:['bite', 'is', 'the', 'best']
(5) 字符串的规整操作
<1>字符串,strip() -(去前后空格)
my_str = " bite is the best " new_my_str = my_str.strip() print(new_my_str) # 结果:bite is the best
<2> 字符串.strip(字符串) -(去前后指定字符串)
注意,传入的是“12” 其实就是:”1”和”2”都会移除,是按照单个字符
my_str = "12bite is 12the best212" new_my_str = my_str.strip("12") print(new_my_str) # 结果:bite is 12the best
(6) 统计字符串中某字符串的出现次数-字符串.count(字符串)
my_str = "itheima and itcast" count = my_str.count("it") print(f"字符串{my_str}中it出现的次数是: {count}") # 结果:字符串itheima and itcast中it出现的次数是: 2
2. 字符串的特点
作为数据容器,字符串有如下特点:
(1)只可以存储字符串
(2)长度任意 (取决于内存大小)
(3)支持下标索引
(4)允许重复字符串存在
(5)不可以修改(增加或删除元素等)
(6)支持for循环
本次内容就到此啦,欢迎评论区或者私信交流,觉得笔者写的还可以,或者自己有些许收获的,麻烦铁汁们动动小手,给俺来个一键三连,万分感谢 !