当前位置:首页>python>Python开发者必备:字典操作全面指南及性能优化

Python开发者必备:字典操作全面指南及性能优化

  • 2026-06-18 15:20:44
Python开发者必备:字典操作全面指南及性能优化

Python 字典(Dictionary)详解

在 Python 中,字典(Dictionary)是一种键值对(key-value) 结构的可变容器,类似于 Java 中的 Map 或 JavaScript 中的对象。它通过键(key)快速查找对应的值(value),是处理关联数据的核心数据结构。本文将详细介绍字典的创建、操作及常用方法。

字典的基本定义

字典使用大括号 {} 定义,键值对之间用逗号分隔,键与值用冒号 : 连接。

# 基本字典(键为字符串,值为整数)
student = {'name''Alice''age'20'major''Computer Science'}

# 键可以是任意不可变类型(如整数、字符串、元组)
mixed_dict = {
1'one',          # 整数作为键
    ('a''b'): 123,   # 元组作为键(元组不可变)
'list': [123]  # 值可以是任意类型(包括列表、字典等)
}

# 空字典
empty_dict = {}
# 用 dict() 函数创建字典
another_dict = dict(name='Bob', age=21)  # 等价于 {'name': 'Bob', 'age': 21}

注意

  • 键必须是不可变类型(如字符串、整数、元组),列表等可变类型不能作为键。
  • 键是唯一的,若重复定义,后面的键值对会覆盖前面的。

字典的核心操作

访问值(通过键)

通过 字典名[键] 访问对应的值,若键不存在则报错。

student = {'name''Alice''age'20}

print(student['name'])  # 输出:Alice(访问 name 对应的值)
print(student['age'])   # 输出:20(访问 age 对应的值)

# 使用 get() 方法访问(键不存在时返回默认值,避免报错) 可以通过 'major' in student 来判断该键是否存在
print(student.get('major''Unknown'))  # 输出:Unknown(键 'major' 不存在,返回默认值)

添加 / 修改键值对

  • 若键不存在,赋值操作会添加新的键值对。
  • 若键已存在,赋值操作会修改对应的值。
student = {'name''Alice''age'20}

# 添加新键值对
student['major'] = 'Math'
print(student)  # 输出:{'name': 'Alice', 'age': 20, 'major': 'Math'}

# 修改已有键的值
student['age'] = 21
print(student)  # 输出:{'name': 'Alice', 'age': 21, 'major': 'Math'}

删除键值对

  • del 字典名[键]:删除指定键值对。
  • 字典名.pop(键):删除并返回指定键的值。
  • 字典名.clear():清空字典所有键值对。
student = {'name''Alice''age'21'major''Math'}

# 删除指定键
del student['major']
print(student)  # 输出:{'name': 'Alice', 'age': 21}

# 删除并返回值
age = student.pop('age')
print(age)      # 输出:21
print(student)  # 输出:{'name': 'Alice'}

# 清空字典
student.clear()
print(student)  # 输出:{}

字典的遍历

字典提供多种方式遍历键、值或键值对:

遍历所有键(keys()

fruit_prices = {'apple'5'banana'3'orange'4}

# 直接遍历字典(默认遍历键)
for fruit in fruit_prices:
    print(fruit)  # 输出:apple、banana、orange

# 使用 keys() 方法(更清晰)
for fruit in fruit_prices.keys():
    print(fruit)  # 输出同上

遍历所有值(values()

fruit_prices = {'apple'5'banana'3'orange'4}

for price in fruit_prices.values():
    print(price)  # 输出:5、3、4

遍历键值对(items()

fruit_prices = {'apple'5'banana'3'orange'4}

# items() 返回包含 (键, 值) 元组的可迭代对象
for fruit, price in fruit_prices.items():
    print(f"水果:{fruit},价格:{price}元")

# 输出:
# 水果:apple,价格:5元
# 水果:banana,价格:3元
# 水果:orange,价格:4元

常用方法速查表

方法
功能描述
时间复杂度
示例
d[key]
访问值(键不存在报错)
O(1)
value = d['key']
d.get(key[, default])
安全访问(不存在返回默认值)
O(1)
d.get('key', 0)
d[key] = value
添加/修改键值对
O(1)
d['new'] = 100
d.update(other)
批量更新
O(k)
d.update({'a':1, 'b':2})
del d[key]
删除指定键
O(1)
del d['key']
d.pop(key[, default])
删除并返回值
O(1)
value = d.pop('key', None)
d.popitem()
删除并返回最后插入的键值对
O(1)
k, v = d.popitem()
d.clear()
清空字典
O(n)
d.clear()
d.keys()
返回所有键的视图
O(1)
for k in d.keys():
d.values()
返回所有值的视图
O(1)
for v in d.values():
d.items()
返回所有键值对视图
O(1)
for k, v in d.items():
d.copy()
浅拷贝
O(n)
new_d = d.copy()
d.setdefault(key[, default])
获取值,不存在则设置默认值
O(1)
d.setdefault('count', 0)
len(d)
返回键值对数量
O(1)
size = len(d)
key in d
检查键是否存在
O(1)
if 'key' in d:
`d1
d2` (Python 3.9+)
合并字典(返回新字典)
O(n+m)
`d1
= d2` (Python 3.9+)
原地合并(类似update)
O(m)

示例:update() 和 copy()

# update():合并字典(覆盖重复键)
dict1 = {'a'1'b'2}
dict2 = {'b'3'c'4}
dict1.update(dict2)
print(dict1)  # 输出:{'a': 1, 'b': 3, 'c': 4}(b 的值被覆盖)

# copy():复制字典
dict3 = dict1.copy()
dict3['a'] = 100
print(dict1)  # 输出:{'a': 1, 'b': 3, 'c': 4}(原字典不变)
print(dict3)  # 输出:{'a': 100, 'b': 3, 'c': 4}(副本被修改)

进阶技巧与实战

实战1:单词计数器

defword_count(text):
"""统计文本中每个单词出现的次数"""
    word_counts = {}

# 方法1:传统方式
for word in text.lower().split():
if word in word_counts:
            word_counts[word] += 1
else:
            word_counts[word] = 1

# 方法2:使用 get()(更简洁)
# for word in text.lower().split():
#     word_counts[word] = word_counts.get(word, 0) + 1

# 方法3:使用 defaultdict(最优雅)
# from collections import defaultdict
# word_counts = defaultdict(int)
# for word in text.lower().split():
#     word_counts[word] += 1

return word_counts

text = "hello world hello python hello world"
print(word_count(text))
# {'hello': 3, 'world': 2, 'python': 1}

实战2:分组与聚合

# 场景:按城市分组用户
users = [
    ('Alice''NYC'25),
    ('Bob''LA'30),
    ('Charlie''NYC'35),
    ('Diana''LA'28),
]

# 分组:城市 → 用户列表
city_users = {}
for name, city, age in users:
    city_users.setdefault(city, []).append({'name': name, 'age': age})

print(city_users)
# {
#     'NYC': [{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 35}],
#     'LA': [{'name': 'Bob', 'age': 30}, {'name': 'Diana', 'age': 28}]
# }

实战3:字典作为缓存(Memoization)

# 斐波那契数列缓存
fib_cache = {}

deffibonacci(n):
"""带缓存的斐波那契函数(性能提升巨大)"""
if n in fib_cache:
return fib_cache[n]

if n <= 1:
        result = n
else:
        result = fibonacci(n-1) + fibonacci(n-2)

    fib_cache[n] = result
return result

# 对比性能
import time
start = time.time()
print(fibonacci(40))  # 102334155
print(f"耗时:{time.time() - start:.4f}秒")  # 约 0.001 秒(无缓存需 30+ 秒)

实战4:使用字典模拟 switch-case

defswitch_example(operation, x, y):
"""使用字典替代多个 if-elif"""
    operations = {
'add'lambda: x + y,
'subtract'lambda: x - y,
'multiply'lambda: x * y,
'divide'lambda: x / y if y != 0else float('inf'),
    }

return operations.get(operation, lambda"Invalid operation")()

print(switch_example('add'105))       # 15
print(switch_example('multiply'105))  # 50
print(switch_example('power'105))     # Invalid operation

常见陷阱与性能优化

🚨 陷阱1:在遍历时修改字典

# ❌ 错误:RuntimeError: dictionary changed size during iteration
d = {'a'1'b'2'c'3}
# for key in d:
#     if key == 'b':
#         del d[key]  # 报错!

# ✅ 正确:遍历副本
for key in list(d.keys()):  # 转换为列表
if key == 'b':
del d[key]
print(d)  # {'a': 1, 'c': 3}

🚨 陷阱2:浅拷贝陷阱

# ❌ 问题:浅拷贝复制的是引用
original = {'list': [123]}
shallow_copy = original.copy()
shallow_copy['list'].append(4)
print(original['list'])  # [1, 2, 3, 4] ← 原字典也被修改!

# ✅ 深拷贝
import copy
original = {'list': [123]}
deep_copy = copy.deepcopy(original)
deep_copy['list'].append(4)
print(original['list'])  # [1, 2, 3] ← 不受影响

🚨 陷阱3:可变对象作为默认值

# ❌ 错误:所有调用共享同一个字典
defadd_user(name, user_dict={}):
    user_dict[name] = len(user_dict)
return user_dict

print(add_user('Alice'))  # {'Alice': 0}
print(add_user('Bob'))    # {'Alice': 0, 'Bob': 1} ← 意外共享!

# ✅ 正确:使用 None 作为哨兵
defadd_user(name, user_dict=None):
if user_dict isNone:
        user_dict = {}
    user_dict[name] = len(user_dict)
return user_dict

print(add_user('Alice'))  # {'Alice': 0}
print(add_user('Bob'))    # {'Bob': 0}

性能优化建议

# 1. 使用 in 代替 has_key()(已废弃)
if'key'in d:  # ✅ 快速
pass

# 2. 批量操作使用 update 而非循环
d = {}
new_items = {'a'1'b'2'c'3}
d.update(new_items)  # ✅ O(k)
# 等价于:
# for k, v in new_items.items():  # ❌ 较慢
#     d[k] = v

# 3. 字典推导式比循环快 30%+
squares = {x: x**2for x in range(1000)}  # ✅ 快速
# vs
squares = {}                               # ❌ 较慢
# for x in range(1000):
#     squares[x] = x**2

# 4. 预设容量减少扩容(Python 3.7+)
d = {}
d.__sizeof__()  # 初始容量 8
d = {'a'1'b'2'c'3'd'4'e'5}  # 会触发扩容

总结与选型指南

何时使用字典?

场景
推荐度
示例
需要通过唯一标识快速查找
⭐⭐⭐⭐⭐
用户ID → 用户信息
统计频率/计数
⭐⭐⭐⭐⭐
单词出现次数
缓存计算结果
⭐⭐⭐⭐⭐
斐波那契数列缓存
配置参数存储
⭐⭐⭐⭐
config = {'host': 'localhost'}
模拟 switch-case 语句
⭐⭐⭐⭐
操作名 → 函数
需要保持顺序且频繁增删(Python 3.7+)
⭐⭐⭐⭐
LRU 缓存
需要嵌套数据结构
⭐⭐⭐⭐⭐
JSON 解析结果

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 12:22:52 HTTP/2.0 GET : https://f.mffb.com.cn/a/498082.html
  2. 运行时间 : 0.266939s [ 吞吐率:3.75req/s ] 内存消耗:4,993.82kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=376d0db80e6850473511eb3bd78e716a
  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.000792s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000608s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001215s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.007621s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000624s ]
  6. SELECT * FROM `set` [ RunTime:0.000299s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000693s ]
  8. SELECT * FROM `article` WHERE `id` = 498082 LIMIT 1 [ RunTime:0.017317s ]
  9. UPDATE `article` SET `lasttime` = 1783052572 WHERE `id` = 498082 [ RunTime:0.008106s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001616s ]
  11. SELECT * FROM `article` WHERE `id` < 498082 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000585s ]
  12. SELECT * FROM `article` WHERE `id` > 498082 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001988s ]
  13. SELECT * FROM `article` WHERE `id` < 498082 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.014307s ]
  14. SELECT * FROM `article` WHERE `id` < 498082 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.017862s ]
  15. SELECT * FROM `article` WHERE `id` < 498082 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.013997s ]
0.269528s