当前位置:首页>python>Python入门——容器四件套

Python入门——容器四件套

  • 2026-08-21 21:51:46
Python入门——容器四件套

4. 一组数据放一起——列表 / 元组 / 字典 / 集合

读完本节,你能在 25 分钟内,掌握 4 种 Python 内置容器,并能根据“要不要改 / 怎么找”正确选用,主动避开浅拷贝和 == vs is 这两个隐蔽坑。

前面的变量只能装一个值,但现实中“一组东西”很常见:购物清单、通讯录、班级成绩。Python 给了我们 4 种容器,各有用途。

4.1 为什么需要容器?

如果不用列表,记录 3 个学生成绩要写 3 行:

score1 = 90
score2 = 80
score3 = 70
print((score1 + score2 + score3) / 3)  # 算平均分

如果学生多了,根本写不过来。用列表一行搞定:

scores = [908070]
print(sum(scores) / len(scores))  # 算平均分:80.0

4.2 列表 list:可变、有序

列表是最常用的容器,用方括号 [] 定义:

fruits = ["apple""banana""cherry"]  # 定义
print(fruits[0])         # 正向索引从 0 开始:apple
print(fruits[-1])        # 负向索引从 -1 开始:cherry
print(fruits[1:3])       # 切片:[banana, cherry] (含左不含右)

列表里的元素可以是任何类型,也可以混合

mixed = [1"hello"3.14True, [12]]  # 一个列表装 5 种类型

增删改查全功能:

fruits = ["apple""banana"]
fruits.append("cherry")        # 末尾追加
fruits.insert(0"apricot")    # 在索引 0 位置插入
fruits.extend(["date""fig"]) # 拼接另一个列表
print(fruits)                  # ['apricot', 'apple', 'banana', 'cherry', 'date', 'fig']

fruits.remove("banana")        # 按值删第一个匹配项
popped = fruits.pop()          # 弹掉最后一个,返回值是被弹掉的
del fruits[0]                  # 按索引删
print(fruits)                  # ['apple', 'cherry', 'date']

fruits[0] = "avocado"# 改
print("apple"in fruits)       # 查:False
print(fruits.index("cherry"))  # 查索引:1

排序两个常用方法:

nums = [31415926]
print(sorted(nums))         # [1, 1, 2, 3, 4, 5, 6, 9]  返回新列表
print(nums)                 # 原列表没变:[3, 1, 4, 1, 5, 9, 2, 6]
nums.sort()                 # 原地排序,直接改 nums
print(nums)                 # [1, 1, 2, 3, 4, 5, 6, 9]

排序还能传 key 参数定制规则:

words = ["banana""pie""Apple"]
print(sorted(words))                       # ['Apple', 'banana', 'pie'](默认按字符编码)
print(sorted(words, key=str.lower))        # ['Apple', 'banana', 'pie'](忽略大小写)
print(sorted(words, key=len))              # ['pie', 'Apple', 'banana'](按长度)

列表推导式(list comprehension)是把 for 循环塞进一行的写法:

nums = [12345]
squares = [n * n for n in nums]       # [1, 4, 9, 16, 25]
evens = [n for n in nums if n % 2 == 0]  # [2, 4]

初学阶段可以先记“循环能做的一切,列表推导式都能写得更短”。

4 个常见错误

报错
原因
IndexError: list index out of range
索引超出范围(比如空列表取 [0]
TypeError: 'list' object is not callable
把列表当函数调用(fruits())
list.remove(x)
 不报错也不删
找不到 x(没有提示)
del lst[i]
 不存在
索引越界

初学期间,看到报错先看最后一行“Error 类型 + 提示”,90% 的问题直接能定位。

4.3 元组 tuple:不可变、有序

元组像“加锁的列表”——一旦定义,不能增删改。用圆括号 () 定义:

point = (35)          # 一个坐标
colors = ("red""green""blue")
print(point[0], point[1])  # 3 5

“不可变”指的是不能改元素本身,但元素如果是可变对象(比如列表),那个内部列表还能改:

t = (1, [23], 4)
t[1].append(5)  # 元组本身没变,但内部列表加了 5
print(t)        # (1, [2, 3, 5], 4)

元组比列表快(因为不可变,内存分配更紧凑),适合存“只读”的数据;也可以作为字典的键(S4.4 节会用到)。

关键特性:解包(unpacking):

x, y = (35)            # 把元组拆成两个变量
print(x, y)              # 3 5

# 星号收尾,吸走剩下的所有项
first, *middle, last = [12345]
print(first, middle, last)  # 1 [2, 3, 4] 5

用解包交换两个变量

a, b = 35
a, b = b, a   # 不用中间变量,一行搞定交换
print(a, b)   # 5 3

🐛 避坑单元素元组必须带逗号 —— (3) 只是括号里的 3(整数),(3,) 才是元组。这一条新手踩过无数遍。

print(type((3)))    # <class 'int'>
print(type((3,)))   # <class 'tuple'>

元组适合存“不该被改”的数据:坐标、身份证号、函数返回多个值:

defget_min_max(numbers):
returnmin(numbers), max(numbers)  # 其实是返回一个元组

lo, hi = get_min_max([312])  # 直接解包
print(lo, hi)  # 1 3

💡 小贴士:看到 def foo(): return a, b 不用懵 —— 这就是返回元组 (a, b) 的语法糖。Python 大量内置 API 都用“返回元组”代替“返回自定义对象”,比如 divmod(10, 3) 返回 (3, 1)os.path.split("/a/b/c") 返回 ("/a/b", "c")

4.4 字典 dict:键值对

字典是通讯录的天然模型 —— 名字找电话:

user = {"name""小明""age"25"city""杭州"}
print(user["name"])        # 小明
user["email"] = "x@x.com"# 加键值对
del user["age"]            # 删
print(user)                # {'name': '小明', 'city': '杭州', 'email': 'x@x.com'}

字典的键必须是不可变类型(数字 / 字符串 / 元组都行,列表 / 字典 / 集合都不行):

d = {1"一""name""小明", (12): "坐标"}
# d = {[1, 2]: "错误"}  # TypeError: unhashable type: 'list'

🐛 避坑:直接 user["phone"] 取不存在的键会抛 KeyError用 .get(key, default) 防报错

print(user.get("phone""未知"))  # 未知
print(user.get("phone"))          # None(默认返回值)

遍历字典的 3 种姿势:

for k in user.keys():           # 只拿键
print(k)
for v in user.values():         # 只拿值
print(v)
for k, v in user.items():       # 同时拿键值(最常用)
print(f"{k} = {v}")

字典推导式(dict comprehension):

names = ["小明""小红""小刚"]
scores = [859278]
score_dict = {n: s for n, s inzip(names, scores)}
# {'小明': 85, '小红': 92, '小刚': 78}

字典和 JSON 的关系非常近 —— JSON 本质上就是“嵌套的字典 / 列表”。第 8 节会用 JSON 持久化数据。

4.5 集合 set:不重复、无序

集合像“去重过的列表”,用花括号 {} 定义(注意空集合必须用 set(),不是 {}):

tags = {"python""tutorial""python"}  # 自动去重
print(tags)  # {'tutorial', 'python}(顺序不固定)

nums = set([122333])
print(nums)  # {1, 2, 3}

集合运算:

a = {1234}
b = {3456}
print(a & b)  # 交集:{3, 4}
print(a | b)  # 并集:{1, 2, 3, 4, 5, 6}
print(a - b)  # 差集:{1, 2}(a 有 b 没有的)
print(3in a) # 判断包含:True(比列表快非常多)

一个真实场景:找出两个用户列表的“同时关注”、“只关注 A”、“全部关注”:

user_a = {"python""机器学习""摄影"}
user_b = {"python""摄影""篮球"}

print("共同兴趣:", user_a & user_b)  # {'python', '摄影'}
print("只 A 有:", user_a - user_b)    # {'机器学习'}
print("只 B 有:", user_b - user_a)    # {'篮球'}
print("所有兴趣:", user_a | user_b)   # {'python', '机器学习', '摄影', '篮球'}

集合推导式

nums = [122334]
unique = {n for n in nums}
print(unique)  # {1, 2, 3, 4}

💡 小贴士:如果你只关心“某个东西在不在”,用集合;如果还要保留顺序,用列表。集合的 in 判断是 O(1),列表的 in 是 O(n),数据量大时差异明显。性能数据:列表 100 万元素 in 判断 ~5ms,集合 < 0.01ms。

4.6 容器互转与嵌套

list((123))      # (1,2,3) → [1, 2, 3]
tuple([123])     # [1,2,3] → (1, 2, 3)
set([1223])    # [1,2,2,3] → {1, 2, 3}
list({1"a"2"b"}.keys())   # [1, 2]

嵌套:列表里装字典做待办清单:

todos = [
    {"id"1"title""买菜""done"False},
    {"id"2"title""写代码""done"True},
]
# 加一条
todos.append({"id"3"title""运动""done"False})
# 查未完成的
print([t["title"for t in todos ifnot t["done"]])
# 输出:['买菜', '运动']

更深一层的嵌套:字典里装列表、列表里装字典都很常见。比如“班级-学生-成绩”:

school = {
"class_1": [
        {"name""小明""scores": [859078]},
        {"name""小红""scores": [928895]},
    ],
"class_2": [
        {"name""小刚""scores": [768072]},
    ],
}
# 查 class_1 的平均分
scores = [s for stu in school["class_1"for s in stu["scores"]]
print(sum(scores) / len(scores))  # 88.0

这种嵌套结构对应 JSON 格式,是 Web API 返回数据的标准形式。第 8 节读写 JSON 时会再次遇到。

4.7 浅拷贝陷阱与 == vs is

最后讲两个隐蔽但重要的区别。

浅拷贝陷阱:直接赋值不是拷贝,是共享引用

a = [123]
b = a               # b 和 a 指向同一个列表
b.append(4)
print(a)            # [1, 2, 3, 4] ← a 也变了!

要拷贝,得显式调用:

a = [123]
b = a.copy()        # 或 b = list(a) 或 b = a[:]
b.append(4)
print(a)            # [1, 2, 3] ← a 不受影响
print(b)            # [1, 2, 3, 4]

深拷贝(嵌套列表也要复制):

import copy
a = [[12], [34]]
b = copy.deepcopy(a)
b[0].append(99)
print(a)  # [[1, 2], [3, 4]] ← 深拷贝,a 不受影响
print(b)  # [[1, 2, 99], [3, 4]]

如果只用 .copy()(浅拷贝),嵌套列表还是共享的:

a = [[12], [34]]
b = a.copy()
b[0].append(99)
print(a)  # [[1, 2, 99], [3, 4]] ← 嵌套部分还是共享!

📌 对比 == vs is

  • ==
     比的是“是否相等”
  • is
     比的是“是不是同一个对象(内存地址相同)”
a = [123]
b = [123]
print(a == b)  # True(值相等)
print(a is b)  # False(是两个不同的列表对象)

经验法则:比较值用 ==,比较身份用 is(后者最常见的场景是和 None 比较:if x is None:)。

🎯 动手练

写一个迷你“学生成绩管理系统”:

  1. 用字典存学生信息,键是学生姓名,值是成绩列表
  2. 实现 3 个查询(用函数也行,先 print 也行):
    • 查单个学生平均分
    • 查全班平均分
    • 找最高分的学生

预期数据结构:

students = {
"小明": [859078],
"小红": [928895],
"小刚": [768072],
}

练习参考答案

students = {"小明": [859078], "小红": [928895]}
print("小明的平均分:"sum(students["小明"]) / len(students["小明"]))
all_avg = sum(sum(s) for s in students.values()) / sum(len(s) for s in students.values())
print("全班平均分:", all_avg)
# lambda 用法见 S6.5 —— 这里先用着,语义是"按每名学生最高分排序找最高的学生"
top = max(students, key=lambda n: max(students[n]))
print("最高分学生:", top)

本节小结

  • 列表 [] 可变有序、元组 () 不可变有序、字典 {键:值} 键值对、集合 {} 不重复无序
  • 列表切片:正向从 0、负向从 -1、[start:stop:step][::-1] 反转
  • 列表 / 字典都有推导式,适合一行构造
  • 单元素元组必须 (3,) 带逗号;解包让函数返回多值更自然
  • 字典的键必须是不可变类型(数字 / 字符串 / 元组)
  • 字典 .get(key, default) 防 KeyError
  • 集合运算 & | -in 判断包含比列表快得多
  • 浅拷贝陷阱
    b = a 不是拷贝是共享,要用 .copy() / list(a) / a[:]
  • == 比值,is 比对象
    ;默认用 ==,只和 None 比较时用 is
  • 嵌套结构(列表里装字典、字典里装列表)对应 JSON,是真实项目的常态

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 22:50:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/507643.html
  2. 运行时间 : 0.797062s [ 吞吐率:1.25req/s ] 内存消耗:4,794.80kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f7795858c2775b059e242a6111b708de
  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.000873s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001807s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.014621s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004677s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001699s ]
  6. SELECT * FROM `set` [ RunTime:0.006168s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001359s ]
  8. SELECT * FROM `article` WHERE `id` = 507643 LIMIT 1 [ RunTime:0.057829s ]
  9. UPDATE `article` SET `lasttime` = 1787323810 WHERE `id` = 507643 [ RunTime:0.058471s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.015773s ]
  11. SELECT * FROM `article` WHERE `id` < 507643 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.020562s ]
  12. SELECT * FROM `article` WHERE `id` > 507643 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002731s ]
  13. SELECT * FROM `article` WHERE `id` < 507643 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.165562s ]
  14. SELECT * FROM `article` WHERE `id` < 507643 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.142540s ]
  15. SELECT * FROM `article` WHERE `id` < 507643 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.144628s ]
0.802912s