
课前拓展:字符串常用方法
- len()方法----查看数据长度的方法:len() --->length的缩写
- 括号里是被查看长度的数据,一个空格也算一个字符
- strip()方法:去掉字符串首尾的空格
- 用法 :字符串.strip()
- replace()方法,替换字符串中的指定字符或子字符串
- 用法 :字符串.replace(被替换的字符或子字符串,替换后的字符或子字符串)
- 索引:字符串的索引从0开始,每个字符都有一个索引,索引可以用来访问字符串中的字符
- 语法:字符串[索引]
- 索引也支持负数,负数从字符串的末尾开始计数
python
# 查看数据长度的方法:len() --->length的缩写
#len()方法,括号里是被查看长度的数据,一个空格也算一个字符
s = '我无敌,你 随 意'
print(len(s)) # 9
#strip()方法,去掉字符串首尾的空格
#用法 :字符串.strip()
s1 = ' 我无敌,你 随 意 '
print(s1.strip()) # 我无敌,你 随 意
#replace()方法,替换字符串中的指定字符或子字符串
#用法 :字符串.replace(被替换的字符或子字符串,替换后的字符或子字符串)
s2 = '我无敌,你随意'
s3 = ' 我 无 敌 ,你 随 意 '
print(s2.replace('随意','请便')) # 我无敌,你请便
print(s3.replace(' ','')) # 我无敌,你请便
#字符串的索引从0开始,每个字符都有一个索引,索引可以用来访问字符串中的字符
#语法:字符串[索引]
#索引也支持负数,负数从字符串的末尾开始计数
s = '我无敌,你随意'
print(s[4]) # 你
print(s[5]) # 随
print(s[6]) # 意
print(s[-1]) # 意
1.列表
列表是Python中最常用的数据结构之一,它是一个有序的、可变的序列,可以存储任意类型的元素。
- 有序性:列表中的元素按照插入顺序排列
- 可变性:可以修改、添加、删除元素
- 异构性:可以存储不同类型的元素
- 可嵌套:列表中可以包含其他列表
列表索引和字符串索引用法一样
python
# 创建空列表
empty_list = []
empty_list = list()
# 创建带有初始元素的列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, 'hello', 3.14, True, None,[1,2,3]] # 可以包含不同类型的元素
print(type(mixed)) # <class 'list'>
#列表索引和字符串索引用法一样
print(mixed[0]) # 1
print(mixed[1]) # hello
print(mixed[2]) # 3.14
print(mixed[4]) # None
print(mixed[5]) # [1,2,3]
print(mixed[3]) # True
列表的常用方法:
把列表当成一个背包,对里面的物品进行增删改查
- len()方法,查看列表的长度
- append()方法,向列表末尾添加一个元素
- 用法 :列表.append(要添加的元素)
- insert()方法,向列表的指定位置插入一个元素
- 用法 :列表.insert(索引,要插入的元素)
- remove()方法,从列表中删除第一个出现的指定元素
- 用法 :列表.remove(要删除的元素)
- pop()方法,删除列表末尾的元素
- 用法:列表.pop()
- 也可删除指定索引的数据
- 列表.pop(2)
- clear()方法,清空列表中的所有元素
- 用法 :列表.clear()
python
#列表的常用方法
backpack = ['止疼药','苹果','水','书','笔']
#len()方法,查看列表的长度
print(len(backpack)) # 5
#append()方法,向列表末尾添加一个元素
#用法 :列表.append(要添加的元素)
backpack.append('手机')
print(backpack) # ['止疼药','苹果','水','书','笔','手机']
#insert()方法,向列表的指定位置插入一个元素
#用法 :列表.insert(索引,要插入的元素)
backpack.insert(2,'书本')
print(backpack) # ['止疼药','苹果','书本','水','书','笔','手机']
#remove()方法,从列表中删除指定的元素
#用法 :列表.remove(要删除的元素)
backpack.remove('手机')
print(backpack) # ['止疼药','苹果','书本','水','书','笔']
#pop()方法,删除列表末尾的元素
#用法:列表.pop()
backpack.pop()
print(backpack) # ['止疼药','苹果','书本','水','书']
backpack.pop(2)
print(backpack) # ['止疼药','苹果','水','书']
#clear()方法,清空列表中的所有元素
#用法 :列表.clear()
backpack.clear()
print(backpack) # []
2.字典
字典(Dictionary)是Python中一种非常重要的数据结构,它是一个无序的键值对(key-value)集合。
- 特点 :
- 字典中的元素以键值对形式存在
- 键(key)必须是不可变类型(如字符串、数字、元组)
- 值(value)可以是任何类型
- 字典是可变的,可以动态添加、修改或删除元素
- 字典中的键是唯一的
- 形式:{'key':value} -- 键值对
- 每个元素之间逗号隔开
python
m416 = {
'名称':'M416',
'伤害':50,
'射速':100,
'子弹类型':'5.56mm',
'弹药容量':30,
}
print(m416)
print(type(m416)) # <class 'dict'>
字典增删改查的方法
- 新增元素:字典[新的键名] = 值
- 取值:字典[键名] 或 字典.get(键名)
- 删除元素:del 字典[键名]
- 修改元素值:字典[要修改值的键名] = 新值
- 字典[键名] = 值 ----键名存在则修改,不存在则新增
- 获取字典的全部键、值和键值对
- 字典.keys --- 获取的全部数据放到列表中
- 字典.values() --- 获取的全部数据放到列表中
- 字典.items() --- 获取的全部数据放到**元组列表**中
python
#字典的增删改查
#新增元素:字典[新的键名] = 值
m416['枪口'] = '消音器'
print(m416) # {'名称':'M416','伤害':50,'射速':100,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}
#取值:字典[键名] 或 字典.get(键名)
print(m416['伤害']) # 50
print(m416.get('伤害')) # 50
#删除元素:del 字典[键名]
del m416['伤害']
print(m416) # {'名称':'M416','射速':100,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}
#修改元素值:字典[键名] = 新值
m416['射速'] = 60
print(m416) # {'名称':'M416','射速':60,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}
#获取字典的全部键、值和键值对
print(m416.keys()) # ['名称', '射速', '子弹类型', '弹药容量', '枪口']
print(m416.values()) #['M416', 60, '5.56mm', 30, '消音器']
print(m416.items()) # [('名称', 'M416'), ('射速', 60), ('子弹类型', '5.56mm'), ('弹药容量', 30), ('枪口', '消音器')]
#字典遍历
for key in m416.keys():
print(key, m416[key])
3.元组
元组(Tuple)是Python中一种不可变的序列类型,它是由逗号分隔的元素组成的有序集合。
- 特点 :
- 元组中的元素可以是任何类型(数字、字符串、列表、字典等)
- 元组是不可变的,一旦创建,元素不能添加、修改或删除
- 元组中的元素是有序的,可通过索引访问
- 元组可以包含重复元素
- 元组可以嵌套(元组中包含其他元组)
- 形式:('名称1,'名称2'...)
- 创建方式
python
# 方式1:使用圆括号
tuple1 = (1, 2, 3)
# 方式2:不使用圆括号(仅用逗号分隔)
tuple2 = 4, 5, 6
# 方式3:创建单元素元组(必须加逗号)
tuple3 = (7,) # 注意:(7) 不是元组,是整数7
# 方式4:使用tuple()函数转换其他可迭代对象
tuple4 = tuple([1, 2, 3]) # 从列表转换
tuple5 = tuple("hello") # 从字符串转换
# 空元组创建
empty_tuple = ()
empty_tuple2 = tuple()
- 获取元组元素
- 通过索引访问元素
python
t = (10, 20, 30, 40)
print(t[0]) # 输出: 10(正向索引,从0开始)
print(t[-1]) # 输出: 40(反向索引,从-1开始)
- 切片操作
python
print(t[1:3]) # 输出: (20, 30)(左闭右开区间)
print(t[:2]) # 输出: (10, 20)(从开始到索引2)
print(t[2:]) # 输出: (30, 40)(从索引2到结束)
- 注意
- 元组的核心特性是不可变性,即创建后无法修改元素
- 如果元组中包含可变类型(如列表),则可变元素的内部可以修改
python
# 元组的核心特性是不可变性,即创建后无法修改元素
t = (10, 20, 30)
# t[0] = 100 # 会报错
# 如果元组中包含可变类型(如列表),则可变元素的内部可以修改
t = (1, [2, 3], 4)
t[1][0] = 200 # 可以修改元组中的列表元素
print(t) # 输出: (1, [200, 3], 4)
- 元组的方法较少(因为不可变),常用的有
- count(value) 返回值在元组中出现的次数
- index(value, start, end) 返回值在元组中的第一个索引位置(可指定搜索范围)
python
t = (1, 2, 3, 2, 4, 2)
print(t.count(2)) # 输出: 3(数字2出现了3次)
print(t.index(3)) # 输出: 2(数字3的索引位置)
- 元组与其他数据结构的比较
