当前位置:首页>python>Python 哈希集合(set)与 字典(dict)超详细讲解

Python 哈希集合(set)与 字典(dict)超详细讲解

  • 2026-06-27 16:38:26
Python 哈希集合(set)与 字典(dict)超详细讲解

Python 哈希集合(set)与 字典(dict)超详细讲解


一、先搞懂底层:什么是「哈希」?

想象你去超市存包:

  • 普通列表(list):像一排没有号码的柜子。你要找一个包,只能逐个打开看,最坏情况下要翻遍所有柜子。查找速度 O(n)。
  • 哈希表(Hash Table):像智能存包柜。你输入手机号,系统立刻算出「3号柜」,你直接去3号柜取包。查找速度接近 O(1)。

核心原理:通过一个「哈希函数」,把任意数据(字符串、数字、元组等)转换成固定长度的数字(哈希值),这个数字就是数据的「门牌号」。Python 的 dict 和 set 底层都是基于哈希表实现的。


二、字典(dict)—— 带「门牌号」的储物柜

1. 一句话定义

字典是键值对(key-value)的集合。每个 key 必须唯一且不可变,通过 key 可以在常数时间内找到对应的 value

2. 生活中的类比

就像一本通讯录

  • key = 人名(唯一的标识)
  • value = 电话号码(实际存储的数据)
# 创建字典的多种方式
phone_book = {"Alice""13800138000""Bob""13900139000"}
phone_book = dict(Alice="13800138000", Bob="13900139000")
phone_book = dict([("Alice""13800138000"), ("Bob""13900139000")])

# 空字典
empty = {}
empty = dict()

3. 核心操作详解

增 & 改

phone_book = {"Alice""13800138000"}

# 新增:key 不存在就添加
phone_book["Charlie"] = "13700137000"

# 修改:key 存在就覆盖
phone_book["Alice"] = "15000150000"

# 批量更新
phone_book.update({"David""13600136000""Alice""99999999999"})

# 方式1:直接索引(key 不存在会报错 KeyError)
num = phone_book["Alice"]

# 方式2:get()(key 不存在返回 None 或默认值,不会报错)
num = phone_book.get("Eve")           # None
num = phone_book.get("Eve""未知")    # "未知"

# 方式3:判断是否存在
if"Alice"in phone_book:   # 这里底层就是哈希查找,速度极快
    print("找到了!")

# 删除并返回值
num = phone_book.pop("Alice")

# 删除不报错
phone_book.pop("Eve"None)

# 清空
phone_book.clear()

4. 遍历字典

info = {"name""小明""age"18"city""北京"}

# 遍历键(默认)
for key in info:
    print(key)

# 遍历值
for value in info.values():
    print(value)

# 遍历键值对
for key, value in info.items():
    print(f"{key}{value}")

5. 对 key 的严格要求

key 必须是不可变类型(hashable)

  • ✅ 可用:字符串、数字、元组(元组内部元素也必须是不可变的)
  • ❌ 不可用:列表、字典、集合
# 正确
d = {(12): "坐标点"}      # 元组可以
d = {3.14"圆周率"}        # 浮点数可以

# 错误!会报错
# d = {[1, 2]: "列表"}      # TypeError: unhashable type: 'list'

为什么列表不能当 key?因为列表是可变的——如果允许列表当 key,你后面改了列表里的元素,它的哈希值就变了,字典就找不到它了,整个哈希表会乱套。


三、集合(set)—— 只存「门牌号」的储物柜

1. 一句话定义

集合是无序、不重复的元素集合。它只关心「某个元素在不在集合里」,不存储额外的 value。

2. 生活中的类比

  • 黑名单系统:手机号要么在黑名单里,要么不在。不关心这个手机号对应什么信息。
  • 去重工具:把一堆重复的数据扔进去,出来就是唯一值。
# 创建集合
s = {12333}        # 自动去重,结果是 {1, 2, 3}
s = set([12233])   # 从列表转换,结果也是 {1, 2, 3}

# 空集合(注意:{} 是空字典!)
empty = set()                # 正确
# empty = {}                 # 错误!这是字典

3. 核心操作详解

增删查

s = {123}

# 添加元素
s.add(4)           # {1, 2, 3, 4}
s.add(3)           # 重复添加无效,仍然是 {1, 2, 3, 4}

# 删除
s.remove(3)        # 元素不存在会报错 KeyError
s.discard(3)       # 元素不存在也不报错(更安全)

# 随机删除并返回一个元素
elem = s.pop()

# 判断是否存在
if2in s:         # O(1) 速度
    print("存在")

集合运算(set 的杀手锏)

a = {1234}
b = {3456}

# 并集:所有出现的元素(A ∪ B)
a | b              # {1, 2, 3, 4, 5, 6}
a.union(b)

# 交集:共同拥有的元素(A ∩ B)
a & b              # {3, 4}
a.intersection(b)

# 差集:在 A 但不在 B(A - B)
a - b              # {1, 2}
a.difference(b)

# 对称差集:只在 A 或只在 B,不同时在两边(A △ B)
a ^ b              # {1, 2, 5, 6}
a.symmetric_difference(b)

# 子集判断
{12}.issubset(a)        # True
a.issuperset({12})      # True

4. 经典应用场景

场景1:去重(最常用)

nums = [1223334]
unique_nums = list(set(nums))   # [1, 2, 3, 4]

场景2:快速判断「是否已存在」

# 检查用户是否重复投票
voted = set()

defvote(user_id):
if user_id in voted:
return"您已经投过票了"
    voted.add(user_id)
return"投票成功"

场景3:找两个列表的共同元素

list_a = ["apple""banana""cherry"]
list_b = ["banana""date""fig"]

common = set(list_a) & set(list_b)   # {'banana'}

四、dict 和 set 的底层原理

1. 哈希函数的工作流程

以 d = {"apple": 100} 为例:

  1. 计算 "apple" 的哈希值:hash("apple") → 得到一个很大的整数
  2. 对这个整数取模,映射到数组的某个索引位置:index = hash("apple") % array_size
  3. 把 "apple" 和 100 打包成一个条目,放到数组的 index 位置
  4. 下次查找 "apple" 时,重复步骤 1-2,直接定位到同一个位置,取出 100

2. 哈希冲突(Collision)

不同 key 的哈希值可能相同(就像两个人手机号不同但存包柜算出来都是3号)。Python 解决冲突的方法是开放寻址法(Open Addressing)

  • 如果3号柜被占了,就按固定规则试4号、5号……直到找到空位。
  • 查找时也一样:先算3号,不对就继续试下一个,直到找到或遇到空位。

3. 动态扩容

当字典/集合里的元素越来越多,冲突概率上升,Python 会自动扩容(把数组变大,重新分配所有元素)。扩容时所有元素要重新计算位置,所以偶尔某次插入会变慢,但平均下来仍然是 O(1)。


五、dict vs set 对比总结

特性
字典(dict)
集合(set)
存储内容
键值对(key → value)
只有元素值
key/元素要求
不可变、唯一
不可变、唯一
查找速度
O(1)
O(1)
有序性
Python 3.7+ 保持插入顺序
无序
重复处理
key 重复会覆盖 value
重复元素自动忽略
主要用途
映射关系、配置项、计数
去重、成员判断、集合运算

六、常见坑与注意事项

坑1:用可变对象当 key

# 错误
d = {["a"]: 1}     # TypeError: unhashable type: 'list'

# 解决:把列表转成元组
d = {tuple(["a"]): 1}   # 正确

坑2:自定义对象作为 key 的问题

classPerson:
def__init__(self, name):
        self.name = name

p = Person("Alice")
d = {p: "员工"}

# 如果修改了 p 的属性,可能导致字典找不到它
# 因为哈希值是基于对象创建时的状态计算的

坑3:集合不能存列表、字典

s = {[12], [34]}   # TypeError
s = {(12), (34)}   # 正确,元组可以

坑4:set() 和 {} 的区别

a = {}        # 这是空字典!
b = set()     # 这才是空集合

七、一句话记忆口诀

字典是「查字典」:给一个词(key),找到释义(value)。
集合是「查名单」:只看某个人在不在名单里,不关心他具体是干嘛的。
两者底层都是哈希表,所以查找都飞快,但key/元素必须不可变

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:30:17 HTTP/2.0 GET : https://f.mffb.com.cn/a/500177.html
  2. 运行时间 : 0.910033s [ 吞吐率:1.10req/s ] 内存消耗:4,814.91kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=935bc2e8eb5bb0fef40648729073a7cd
  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.001131s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001627s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.052901s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.014967s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001918s ]
  6. SELECT * FROM `set` [ RunTime:0.047493s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001391s ]
  8. SELECT * FROM `article` WHERE `id` = 500177 LIMIT 1 [ RunTime:0.043626s ]
  9. UPDATE `article` SET `lasttime` = 1783006218 WHERE `id` = 500177 [ RunTime:0.018102s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.008109s ]
  11. SELECT * FROM `article` WHERE `id` < 500177 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.015208s ]
  12. SELECT * FROM `article` WHERE `id` > 500177 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.018696s ]
  13. SELECT * FROM `article` WHERE `id` < 500177 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.197279s ]
  14. SELECT * FROM `article` WHERE `id` < 500177 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.262861s ]
  15. SELECT * FROM `article` WHERE `id` < 500177 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.069398s ]
0.912679s