当前位置:首页>python>自学Python第三周——基础语法(三)列表与元组

自学Python第三周——基础语法(三)列表与元组

  • 2026-08-18 23:10:23
自学Python第三周——基础语法(三)列表与元组

本周目标

  • 掌握列表(List) 的创建、访问、增删改查和切片操作
  • 理解元组(Tuple) 的特点与适用场景
  • 学会使用列表存储和管理批量数据
  • 完成第一个综合实战项目:学生成绩管理系统(基础版)

一、为什么需要列表和元组?

前几周我们学的变量,每个只能存储一个值。如果让你管理一个班级50名学生的姓名,难道要定义50个变量吗?student1 = "张三"student2 = "李四"……显然不现实。

在AI领域,数据从来不是“单个”出现的,而是“批量”出现的:

  • 训练数据集: 成千上万张图片的像素值
  • 特征向量: 一个样本可能包含几百个特征(如年龄、收入、购买次数等)
  • 模型参数: 神经网络的权重矩阵(动辄百万千万级别的参数)

如果没有批量管理数据的能力,AI开发寸步难行。今天我们要学的列表(List)和元组(Tuple),就是Python中最基础、最常用的“数据容器”,专门用来批量存储和管理数据。

二、列表(List)——可变的数据“大仓库”

1. 什么是列表?如何创建?

列表是用方括号 [] 包裹、逗号 , 分隔的一组数据,可以存放任意类型的数据(数字、字符串、布尔值甚至其他列表)。

1
2
3
4
5
6
7
8
9
10
11
# 创建空列表empty_list = []# 存放数字scores = [85, 92, 78, 90, 88]# 存放字符串students = ["张三", "李四", "王五"]# 混合类型(Python的列表非常灵活,可以混装)mixed = [10, "Hello", True, 3.14]# 查看列表内容print(scores)    # [85, 92, 78, 90, 88]print(type(scores))  # <class 'list'>

2. 访问列表元素——索引(下标)

列表中的每个元素都有一个编号,叫做索引(Index),从 0 开始计数:

1
2
3
4
5
6
students = ["张三", "李四", "王五", "赵六", "孙七"]# 索引:       0      1      2      3      4print(students[0])   # 张三(第一个元素)print(students[2])   # 王五(第三个元素)print(students[-1])  # 孙七(倒数第一个元素,-1表示最后一个)print(students[-2])  # 赵六(倒数第二个元素)

⚠️ 常见错误:访问不存在的索引会报错 IndexError。例如列表长度为5,你却访问 students[5](因为最大索引是4)。

3. 切片(Slicing)——从列表中取出一段

切片是列表最强大的操作之一,语法为:列表[起始:结束:步长],遵循左闭右开原则(包含起始,不包含结束)。

1
2
3
4
5
6
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(nums[2:6])     # [2, 3, 4, 5](索引2到5,不含6)print(nums[:4])      # [0, 1, 2, 3](省略起始,从0开始)print(nums[6:])      # [6, 7, 8, 9](省略结束,取到末尾)print(nums[::2])     # [0, 2, 4, 6, 8](从头到尾,步长为2)print(nums[::-1])    # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0](步长为负,反转列表!)

💡 AI小贴士:在AI数据处理中,切片非常常用。比如把数据集按比例切分成训练集(前80%)和测试集(后20%):train = data[:80]test = data[80:]

4. 修改列表——增、删、改

(1)改——直接赋值修改

1
2
3
fruits = ["苹果", "香蕉", "橙子"]fruits[1] = "草莓"   # 把索引1的"香蕉"改为"草莓"print(fruits)       # ['苹果', '草莓', '橙子']

(2)增——添加元素

1
2
3
4
5
6
7
8
9
10
11
fruits = ["苹果", "香蕉"]# append():在末尾添加一个元素fruits.append("橙子")print(fruits)        # ['苹果', '香蕉', '橙子']# insert(索引, 元素):在指定位置插入fruits.insert(1, "草莓")print(fruits)        # ['苹果', '草莓', '香蕉', '橙子']# extend():扩展另一个列表(合并)more = ["西瓜", "哈密瓜"]fruits.extend(more)print(fruits)        # ['苹果', '草莓', '香蕉', '橙子', '西瓜', '哈密瓜']

(3)删——删除元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
fruits = ['苹果', '草莓', '香蕉', '橙子', '西瓜', '哈密瓜']# remove(元素):删除第一个匹配的元素fruits.remove("草莓")print(fruits)        # ['苹果', '香蕉', '橙子', '西瓜', '哈密瓜']# pop(索引):删除指定索引的元素,并返回它(不写索引则删除最后一个)removed = fruits.pop(2)   # 删除索引2的"橙子"print(removed)       # 橙子print(fruits)        # ['苹果', '香蕉', '西瓜', '哈密瓜']# del:删除指定索引或整个列表del fruits[1]        # 删除索引1的"香蕉"print(fruits)        # ['苹果', '西瓜', '哈密瓜']# clear():清空所有元素fruits.clear()print(fruits)        # []

5. 遍历列表——和 for 循环结合

在AI开发中,遍历数据集是最常见的操作之一:

1
2
3
4
5
6
7
8
9
10
11
12
# 遍历元素scores = [85, 92, 78, 90, 88]for score in scores:    print(score)# 输出:85, 92, 78, 90, 88# 同时获取索引和值(使用 enumerate)for index, score in enumerate(scores):    print(f"第{index+1}位学生的成绩:{score}分")# 输出:# 第1位学生的成绩:85分# 第2位学生的成绩:92分# ...

6. 列表常用方法速查表

方法
作用
示例
append(x)
在末尾添加元素 x
[1,2].append(3)
 → [1,2,3]
insert(i, x)
在索引 i 处插入 x
[1,3].insert(1,2)
 → [1,2,3]
remove(x)
删除第一个 x
[1,2,3].remove(2)
 → [1,3]
pop(i)
删除索引 i 的元素并返回
[1,2,3].pop(1)
 → 2
index(x)
返回第一个 x 的索引
[1,2,3].index(2)
 → 1
count(x)
统计 x 出现的次数
[1,2,2,3].count(2)
 → 2
sort()
原地排序(升序)
[3,1,2].sort()
 → [1,2,3]
reverse()
原地反转
[1,2,3].reverse()
 → [3,2,1]
copy()
复制一份副本

7. ⚠️ 新手特别关注:列表的“引用”陷阱

先来看一个容易踩坑的例子:

1
2
3
4
5
6
7
8
9
10
11
# 陷阱1:列表复制a = [1, 2, 3]b = a          # 这里不是复制!b和a指向同一个列表b.append(4)print(a)       # [1, 2, 3, 4] —— a也被改了!print(b)       # [1, 2, 3, 4]# ✅ 正确复制方式:b = a.copy()   # 或者 b = a[:]b.append(5)print(a)       # [1, 2, 3, 4] —— 不变print(b)       # [1, 2, 3, 4, 5]

💡 记住b = a 只是给原列表贴了个新标签,而不是创建新列表。这在AI中尤其需要注意——比如你不小心把测试集的数据引用改动了,训练集也会跟着变。

三、元组(Tuple)——不可变的“安全箱子”

1. 什么是元组?如何创建?

元组用圆括号 () 包裹,和列表一样可以存放任意数据,但一旦创建,就不能修改(不可变)。

1
2
3
4
5
6
7
# 创建元组colors = ("红", "绿", "蓝")numbers = (1, 2, 3, 4, 5)single = (5,)   # ⚠️ 注意:只有一个元素时,必须加逗号,否则会被当作普通括号运算print(type(colors))  # <class 'tuple'>print(type((5)))     # <class 'int'> (没加逗号,被当成了整数5)print(type((5,)))    # <class 'tuple'> (加了逗号,才是元组)

2. 元组的访问和遍历(和列表一样)

1
2
3
4
5
colors = ("红", "绿", "蓝")print(colors[0])     # 红print(colors[-1])    # 蓝for color in colors:    print(color)     # 红 绿 蓝

3. 元组的不可变性(关键区别)

1
2
colors = ("红", "绿", "蓝")# colors[0] = "黄"   # ❌ 报错!TypeError:元组不支持修改

为什么 Python 要设计“不可变”的元组?

  1. 数据安全: 当作常量使用,防止被意外修改。比如你定义了模型训练的超参数 CONFIG = (0.001, 100, 32)(学习率、轮数、批次大小),不希望程序运行中被改动。
  2. 字典的键(Key): 只有不可变类型(如字符串、数字、元组)才能作为字典的键,列表不行。
  3. 性能更高: 元组比列表更轻量,内存占用更小。

4. 元组的常用场景

场景1:函数返回多个值

1
2
3
4
5
6
7
8
def get_student_info():    name = "张三"    age = 20    score = 95    return name, age, score   # 实际返回的是一个元组info = get_student_info()print(info)       # ('张三', 20, 95)print(info[0])    # 张三

场景2:AI中的坐标、尺寸等固定参数

1
2
3
4
# 图像尺寸(宽度,高度)——固定不变image_size = (224, 224)    # 常用于ResNet等模型的输入尺寸# RGB颜色值(范围0-255)white = (255, 255, 255)

四、列表与元组的对比总结

对比维度
列表(List)
元组(Tuple)
符号
[]()
是否可变
✅ 可变(增删改)
❌ 不可变
速度
稍慢
稍快(内存占用更小)
使用场景
动态数据集合(如成绩表、用户列表)
固定配置、常量、字典键
常用方法
append、remove、sort等
只有 count 和 index

五、实战项目:学生成绩管理系统(基础版)

现在,让我们综合运用本周和之前的知识,构建一个真正能用的交互式程序!

功能设计

  1. 存储所有学生的姓名和成绩(用列表存储,每个学生是一个列表 [姓名, 成绩]
  2. 提供菜单:添加学生、查看所有成绩、统计总分/平均分、查找最高/最低分、退出

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# ============================================# 学生成绩管理系统(基础版)# 知识点:列表操作 + 循环 + 条件判断# ============================================# 存储学生数据,格式:[ ["姓名1", 成绩1], ["姓名2", 成绩2], ... ]students = []def show_menu():    """显示菜单"""    print("\n" + "=" * 40)    print("      📚 学生成绩管理系统")    print("=" * 40)    print("  1. 添加学生成绩")    print("  2. 查看所有成绩")    print("  3. 统计总分和平均分")    print("  4. 查找最高分和最低分")    print("  5. 退出系统")    print("=" * 40)def add_student():    """添加学生"""    name = input("请输入学生姓名:")    # 输入验证:确保成绩是数字    while True:        try:            score = float(input("请输入成绩:"))            break        except ValueError:            print("❌ 成绩必须是数字,请重新输入!")    students.append([name, score])    print(f"✅ 学生 {name}{score}分)添加成功!")def show_all():    """查看所有成绩"""    if not students:        print("⚠️ 当前没有学生数据,请先添加!")        return    print("\n---------- 成绩列表 ----------")    print("序号\t姓名\t成绩")    print("-" * 30)    # enumerate 同时获取索引和值    for i, stu in enumerate(students, start=1):        print(f"{i}\t{stu[0]}\t{stu[1]}")    print("-" * 30)    print(f"共 {len(students)} 名学生")def show_stats():    """统计总分和平均分"""    if not students:        print("⚠️ 当前没有学生数据,请先添加!")        return    total = 0    for stu in students:        total += stu[1]    avg = total / len(students)    print(f"\n📊 统计结果:")    print(f"   总人数:{len(students)}")    print(f"   总 分:{total:.1f}")    print(f"   平均分:{avg:.1f}")def show_min_max():    """查找最高分和最低分"""    if not students:        print("⚠️ 当前没有学生数据,请先添加!")        return    # 假设第一个学生既是最高也是最低    max_stu = students[0]    min_stu = students[0]    for stu in students[1:]:  # 从第二个开始遍历        if stu[1] > max_stu[1]:            max_stu = stu        if stu[1] < min_stu[1]:            min_stu = stu    print(f"\n🏆 最高分:{max_stu[0]}{max_stu[1]}分)")    print(f"📉 最低分:{min_stu[0]}{min_stu[1]}分)")# ========== 主程序入口 ==========print("👋 欢迎使用学生成绩管理系统!")while True:    show_menu()    choice = input("请选择操作(1-5):")    if choice == "1":        add_student()    elif choice == "2":        show_all()    elif choice == "3":        show_stats()    elif choice == "4":        show_min_max()    elif choice == "5":        print("👋 感谢使用,再见!")        break    else:        print("❌ 无效输入,请输入 1-5 之间的数字!")

运行效果示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
👋 欢迎使用学生成绩管理系统!========================================      📚 学生成绩管理系统========================================  1. 添加学生成绩  2. 查看所有成绩  3. 统计总分和平均分  4. 查找最高分和最低分  5. 退出系统========================================请选择操作(1-5):1请输入学生姓名:林小夕请输入成绩:95✅ 学生 林小夕(95.0分)添加成功!

六、动手练习

练习1:列表基础操作

现有列表 nums = [10, 20, 30, 40, 50],请依次完成:

  1. 在末尾添加数字 60
  2. 在索引 2 的位置插入数字 25
  3. 删除数字 40
  4. 反转列表
  5. 输出最终列表
👆 点击查看参考答案
1
2
3
4
5
6
nums = [10, 20, 30, 40, 50]nums.append(60)          # [10,20,30,40,50,60]nums.insert(2, 25)       # [10,20,25,30,40,50,60]nums.remove(40)          # [10,20,25,30,50,60]nums.reverse()           # [60,50,30,25,20,10]print(nums)

练习2:求列表中的最大值和最小值(禁止用内置 max/min)

编写函数,手动实现查找最大值和最小值的功能。

👆 点击查看参考答案
1
2
3
4
5
6
7
8
9
data = [3, 7, 2, 9, 1, 5]max_val = data[0]min_val = data[0]for num in data:    if num > max_val:        max_val = num    if num < min_val:        min_val = numprint(f"最大值:{max_val},最小值:{min_val}")  # 最大值:9,最小值:1

练习3:列表去重

给定列表 [1, 2, 2, 3, 4, 4, 4, 5],编写程序去除重复元素,保留原始顺序。

👆 点击查看参考答案
1
2
3
4
5
6
7
8
original = [1, 2, 2, 3, 4, 4, 4, 5]unique = []for num in original:    if num not in unique:   # 如果不在新列表中,才添加        unique.append(num)print(unique)   # [1, 2, 3, 4, 5]

练习4:元组解包(Unpacking)

有一个元组 person = ("张三", 25, "北京"),请将其解包为三个独立的变量 nameagecity,然后打印输出。

👆 点击查看参考答案
1
2
3
4
person = ("张三", 25, "北京")name, age, city = personprint(f"姓名:{name},年龄:{age},城市:{city}")# 输出:姓名:张三,年龄:25,城市:北京

练习5(AI场景模拟):特征向量标准化

假设你有一组样本的特征数据(每个样本包含3个特征),存储为列表的列表:

1
2
3
4
5
6
samples = [    [2.5, 3.0, 1.2],    [1.8, 2.9, 1.5],    [3.1, 3.2, 0.8],    [2.0, 2.5, 1.0]]

请编写程序,计算每个特征(列)的平均值,并输出。

👆 点击查看参考答案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
samples = [    [2.5, 3.0, 1.2],    [1.8, 2.9, 1.5],    [3.1, 3.2, 0.8],    [2.0, 2.5, 1.0]]# 假设所有样本长度一致num_features = len(samples[0])sums = [0] * num_features  # 初始化三个0,对应三个特征for sample in samples:    for i in range(num_features):        sums[i] += sample[i]averages = [s / len(samples) for s in sums]  # 列表推导式(下周会讲)print("每个特征的平均值:", averages)# 输出:[2.35, 2.9, 1.125]

本周小结

本周我们学会了用“批量”的方式管理数据:

知识点
核心要点
列表(List)
用 [] 定义,可变(可增删改),是最常用的数据容器
索引与切片
索引从0开始,切片 [start:end:step] 遵循左闭右开
列表的增删改append()
insert()remove()pop()del
遍历列表for item in list:
 或 for i, item in enumerate(list):
引用陷阱b = a
 不复制列表,要复制用 a.copy() 或 a[:]
元组(Tuple)
用 () 定义,不可变,更安全、更高效
元组解包a, b, c = (1, 2, 3)
 快速赋值

下期预告:我们将继续学习另外两种重要的数据容器——字典(Dict)和集合(Set)。字典是“键值对”的存储方式,在AI中用来保存配置参数、特征映射等场景非常方便。我们还会做一个“单词词频统计器”的实战项目!


📌 本周作业建议

  1. 把“学生成绩管理系统”完整敲一遍并运行,然后尝试扩展功能——比如增加“按成绩排序输出”功能。
  2. 在 Jupyter Notebook 中反复练习切片的操作,直到形成肌肉记忆(切片在AI数据预处理中太常用了)。
  3. 思考:为什么在AI中,图像数据经常被存储为多维列表(例如 [[[R,G,B], ...], ...])?这和我们今天学的列表嵌套列表有什么关系?

列表是你在Python生涯中打交道最多的数据类型之一,务必熟练掌握!千里之行,始于足下。 🐍

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 19:13:48 HTTP/2.0 GET : https://f.mffb.com.cn/a/503990.html
  2. 运行时间 : 0.310913s [ 吞吐率:3.22req/s ] 内存消耗:4,689.27kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=70216d8574206743aa793406e3ac512b
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001064s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001979s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000766s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000627s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001387s ]
  6. SELECT * FROM `set` [ RunTime:0.000531s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001519s ]
  8. SELECT * FROM `article` WHERE `id` = 503990 LIMIT 1 [ RunTime:0.001919s ]
  9. UPDATE `article` SET `lasttime` = 1787310828 WHERE `id` = 503990 [ RunTime:0.028403s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000820s ]
  11. SELECT * FROM `article` WHERE `id` < 503990 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002968s ]
  12. SELECT * FROM `article` WHERE `id` > 503990 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.069672s ]
  13. SELECT * FROM `article` WHERE `id` < 503990 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003640s ]
  14. SELECT * FROM `article` WHERE `id` < 503990 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.033844s ]
  15. SELECT * FROM `article` WHERE `id` < 503990 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001922s ]
0.314129s