104-字符串和列表(数据容器)
学习要求
容器学习要求:
理解下标、步长、切片
字符串学习要求:
复现课堂代码,能知晓字符串操作的常见方法(至少罗列三个)。
列表学习要求:
1,复现课堂代码,能够自己罗列列表的增删改查方法。
2,能够看懂列表的嵌套规则。
容器:字符串、列表、元组、字典、集合
字符串下标
字符串切片
字符串操作方法
列表
元组
字符串
三引号可以用来定义字符串,三引号没有赋值就是注释,赋值了就是字符串。三引号支持换行
字符串中有引号,就交叉使用,或者使用转义字符”\“,告诉计算机,你只要把我当成字符串
"""这是注释"""
a = """这是赋值的字符串"""
b = '这也是字符串'
c = '''
这也是字符串
'''
字符串的输入
input()
字符串的输出
字符串的索引
a,b,c,d,e,f
0,1,2,3,4,5
print(str[0])
索引有正索引:012346
还有负索引:-1-2-3-4-5-6
字符串切片(列表,元组都支持)只管头不管尾
对操作对象截取其中的一部分数据,这个过程就是切片
字符串名称[其实位置:结束位置:步长]
[::-1] # 字符串反转,等效于reserve()
[:-1]:除掉最后一个元素
[::2]:所有偶数索引
✨✨✨
✨✨✨字符串不能用reverse()
来反转,只能用切片
✨✨✨
字符串查找,find(),列表不能用find
查找关键词在字符串中出现的位置,find方法:主要功能就是查找关键词在字符串中出现(第一个)的位置,找到了就返回开始的索引下标,没有找到,返回-1
find(',', 0)
,从索引为0的位置开始找
返回寻找到的字符串的索引(索引从0开始到n-1)(从第{索引}开始是find到的字符串)
具体用法:用来寻找文件的后缀名。思路:查找“.”所在的位置下标
例如:
file = GAT_AMD.py
index = file.find('.')
filename = file[:index] # 等效于file[0,7,1]
postfix = file[index:] # file[7::1]
print(f'{..}{..}')
字符串修改方法replace(), split(), join()
replace(old, new) # 把旧内容替换成新内容
split(分割符号) # 使用分割符号对字符串进行分割,返回列表,列表每个元素就是分隔符两边的数据
join(列表容器) # 和split相反,把一个列表拼接成字符串
字符串判断方法
isdigit() # 判断字符串是否全部由数字组成
用法
- 要把字符串转成数字类型,就可以先用isdigit判断一下
- 判断用户是否输入的是数字
if passwd.isdigit(): print(f'密码是:{passwd}')
列表
一种容器,用一个容器存储多个信息
name = ['a', 'b', 'c'] # 列表定义
列表的索引从0开始
print(name[0]) # 打印第一个元素
# 遍历列表
while i < len(name):
print(name[i])
i += 1
for i in names:
print(i)
列表的操作,增删改查
查询:
a[索引下标]
# 基于列表下标len(列表名称)
# 求容器长度in方法
# 可以在字符串、列表、元组中使用,if 元素 in 数据容器 # 判断元素是否在容器中出现
增加
- append() # 追加操作,一个元素一个元素增加,方法本身不返回任何内容,所以追加完后要打印原列表
- 例如
list.append('孙权')
- 例如
- +加号 # 可以把两个列表进行合并操作
- 例如
print(list2 + list3)
- 例如
删除
- remove() # 根据元素删除元素,方法本身不返回任何内容
- 例如list1.remove(20)
修改
- 基本方法:
列表名称[索引] = 修改的值
例如list1[0] = '刘禅'
- 翻转与排序方法
- 翻转:
reverse()
:相当于切片中的[ : :-1]
list.reserve()
=list[: :-1]
- 排序:
sort(reverse=False)
:把列表的元素从小到大排序,该参数可以从大到小排- 关于字符串列表的排序?
- 翻转:
列表的嵌套
a = [[], [], []]
print(a[0])
print(a[1][0])
错题:
names = ['A','B','C','D','E','F','G','H'] for name in names: index = random.randint(0,2) offices[index].append(name)
# 将价格列表按升序排序
prices.sort()
print("升序排序后的价格列表:", prices)