当前位置:首页>python>五 · Python中的容器类型

五 · Python中的容器类型

  • 2026-10-11 08:22:47
五 · Python中的容器类型

1.字符串

b = "www.baidu.com"# 双引号或者单引号中的数据,就是字符串。

1.1 字符串切片

下标:就是标记空间的一个数字

  • 从左侧开始编号,那么下标从 0 开始
  • 右侧开始编号,那么下标从-1开始

 word = "abcdef"

下标为正数:

第0个空间

第1个空间

第2个空间

第3个空间

第4个空间

第5个空间

a

b

c

d

e

f

下标为负数:

第 -6 个空间

第 -5 个空间

第 -4 个空间

第 -3 个空间

第 -2 个空间

第 -1 个空间

a

b

c

d

e

f

切片:是指对操作的对象截取其中一部分的操作,简单来说:一种能够从数据中取到一部分数据的方式。

代码示例一:

name = 'abcdef'print(name[1:5:2])#运行结果bd# 步长为2表示间隔1个值取一次

代码示例二:

name = 'abcdef'print(name[5:1:-2])# 运行结果fd'''5: 起始位置1: 结束位置 (不包含)-2: 步长,表示从右往左取值并间隔一个值'''

注意:

  • 从起始位开始,到结束位的前一位结束(不包含结束位本身),步长表示选取间隔
  • 默认步长为1,即取完一个下标的数据之后,第二个下标的是在刚刚下标基础上+1
  • 步长为正数,表示从左向右取数据
  • 步长为负数,表示从右向左取数据

1.2 字符串的内置方法

find方法:str是否包含在 my_str中,如果是返回开始的索引值,否则返回-1

my_str = "welcome to www.baidu.com"result = my_str.find("to")print(result)# 运行结果8

replace方法:

my_str = "welcome to www.baidu.com"result = my_str.replace('w', 'W', 1)print(result)# 运行结果'Welcome to www.tulingxueyuan.com'

strip方法:删除字符串两端的空白字符

my_str = " welcome to www.baidu.com "result = my_str.strip()print(result)# 运行结果'welcome to www.baidu.com'
内置方法还有许多,不需要死记硬背,不会的及时查资料即可,理解为主。。。

2.列表

列表:是一种有序的数据集合,用于存储多个元素。

定义列表的方式是 []

代码示例:

names = ['张三', '李四', '王五']num = [100, 99, 100, 92, 91]

列表中的数据可以使用下标进行定位,然后就可以使用这个数据

stu_names = ['张三', '李四', '王五']print(stu_names[0]) # 此时只输出张三stu_names[0] = "赵六"print(stu_names[0]) # 此时只输出赵六

列表切片:

列表也是支持切片操作的。

names = ['张三', '李四', '王五']names[1:3] # 运行结果# 此时得到一个新列表 [李四', '王五']

列表逆序:

names = ['张三', '李四', '王五']new_names = names[::-1] # 得到一个新列表['王五', '李四', '张三']print(id(names) == id(new_names))
for循环列表遍历:
stu_names = ['张三', '李四', '王五']for name in stu_names:print(name)# 运行结果张三李四王五
while循环遍历列表:
names = ['张三', '李四', '王五']length = len(names)i = 0while i < length:print(names[i])    i += 1# 运行结果张三李四王五

2.1 列表的内置方法

数据增加(append、extend、insert)

列表.append(新元素数据)
append方法代码示例:
# 定义列表存储3个姓名names = ['张三','李四','王五']for name in names:print(name)# 添加学生temp = input('请输入要添加的学生姓名:')names.append(temp)for name in names:print(name)
 extend方法是将另一个列表中的元素逐一添加到列表中
a = [1, 2]b = [3, 4]a.append(b)print(a)# 运行结果[1, 2, [3, 4]]a.extend(b)print(a)#运行结果 [1, 2, [3, 4], 3, 4]
 insert(index, object):在指定位置前添加元素
a = [0, 1, 2]a.insert(1, 3)print(a)# 运行结果[0, 3, 1, 2]
 数据修改:通过下标确定需要修改哪个元素
列表[下标] = 新数据
# 定义列表存储3个姓名names = ['张三', '李四', '王五']for name in names:print(name)# 修改元素names[1] = '赵六'for name in stu_names:print(name)

数据查询(in、not in、count)

直接上代码示例:

names = ['张三','李四','王五']# 获取要查找的名字find_name = input('请输入要查找的姓名:')# 查找是否存在if find_name in names:print('找到了')else:print('没有找到')
count查询元素个数:
列表.count("要查询的数据")
nums = [1, 2, 3, 4, 5, 1, 2, 3]nums.count(1) # 查找的数据1 一共有2个,所以结果为2nums.count(9) # 没有找到数据9 所以结果为0
数据删除(del、pop、remove)
del:根据下标进行删除
movie_names = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')for name in movie_names:    print(name)del movie_names[2] # 这里根据下标进行删除print('------删除之后------')for name in movie_names:    print(name)
pop:删除最后一个元素
movie_names = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')for name in movie_names:print(name)movie_names.pop() # 删除最后1个print('------删除之后------')for name in movie_names:print(name)
remove:根据元素的值进行删除
movie_names = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')for name in movie_names:print(name)movie_names.remove('指环王') # 删除指定的数据print('------删除之后------')for name in movie_names:print(name)

数据排序(sort、reverse)

sort方法是将列表按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

>>> a = [1, 4, 2, 3]>>> a.sort()>>> a[1, 2, 3, 4]>>> a.sort(reverse=True)>>> a[4, 3, 2, 1]
reverse方法是将列表倒序
>>> a = [1, 4, 2, 3]>>> a[1, 4, 2, 3]>>> a.reverse()>>> a[3, 2, 4, 1]
持续更新中!

最新文章

随机文章