当前位置:首页>python>《Python 从入门到精通》036|字典的常见操作:增删改查与遍历

《Python 从入门到精通》036|字典的常见操作:增删改查与遍历

  • 2026-06-29 16:43:20
《Python 从入门到精通》036|字典的常见操作:增删改查与遍历

上一章我们已经认识了字典。

你可以把字典理解成一张带字段的信息表。 比如一个学生,不再是死记硬背第 0 个是什么、第 1 个是什么,而是直接通过 姓名、年龄、成绩 这些字段去取值。

但只会定义字典,还远远不够。

真正写程序时,你最常干的事情其实是这五类:

查一个字段 加一个字段 改一个字段 删一个字段 把整份数据遍历一遍

这就是所谓的增删改查与遍历。

如果说上一章是在认识字典,那么这一章,才算是真正开始用字典。

一、先准备一个最常用的字典例子

为了把知识讲透,我们先准备一份学生信息:

student = {'name''张三','age'18,'gender''男','score'95}

后面的所有操作,基本都围绕这个例子来展开。

这样你不会感觉知识点是碎的,而是能看到它们在同一份数据上怎么连续使用。

二、查:先学会从字典里拿数据

查,是最基础的一步。

字典不像列表那样按位置取值,它是按键来找值。

student = {'name''张三','age'18,'gender''男','score'95}print(student['name'])print(student['score'])

输出:

张三95

这就是最直接的取值方式。

你给出键,Python 就把对应的值拿出来。

写字典时,你会越来越体会到一个好处:

字段名本身就是说明。

看到 student['score'],你几乎不用猜。 可如果是 data[3],你常常得回头翻前面的定义。

所以字典一旦用熟,你会发现代码阅读体验会好很多。

三、查值时最容易踩的坑:键不存在

先看一段代码:

student = {'name''张三','age'18}print(student['score'])

这段代码会直接报错。

为什么?

因为 score 这个键根本不存在。

也就是说,用中括号取值时,你必须保证这个键真的有。 只要键名写错,或者字段本来就没这个内容,程序就会炸。

这在真实项目里是很常见的坑。

比如接口里有时候返回手机号,有时候不返回。 你如果想当然地直接去取,很容易报错。

所以除了中括号取值,我们还要学一个更稳的方式。

四、get():更安全的取值方法

字典里有个非常常用的方法,叫 get()

它的作用就是:

取值的时候更温和,不会因为键不存在而直接报错。

看例子:

student = {'name''张三','age'18}print(student.get('name'))print(student.get('score'))

输出:

张三None

注意这里的区别:

student['score'] 会报错student.get('score') 不报错,只会返回 None

这就安全得多。

你还可以给它一个默认值:

print(student.get('score'0))

输出:

0

意思就是:

如果有 score,就返回它 如果没有,就先给我一个默认值 0

这在业务里特别实用。

比如:

没有昵称,就显示游客 没有分数,就按 0 算 没有城市,就显示未知地区

看一个更生活化的例子:

user = {'username''tom','email''tom@example.com'}nickname = user.get('nickname''游客')print(nickname)

输出:

游客

所以这一小节你要记住一句非常实用的话:

中括号适合确定有这个键的时候get() 适合不确定这个键在不在的时候

五、增:给字典新增一个键值对

字典新增内容非常简单,直接赋值就行。

student = {'name''张三','age'18}student['score'] = 95print(student)

输出:

{'name''张三''age'18'score'95}

你会发现,没有什么专门的 add 方法。 因为对字典来说,新增一个键值对,本质上就是给一个新键赋值。

这点和列表不太一样。 列表新增通常会想到 append()。 字典新增,直接用等号。

再来一个例子:

student['city'] = '北京'print(student)

输出:

{'name''张三''age'18'score'95'city''北京'}

是不是很直接。

字典这套设计有个很妙的地方:

如果键原本没有,就是新增 如果键原本有了,就是修改

也就是说,同样一行代码,既可能是新增,也可能是修改。关键看这个键原来在不在。

六、改:修改已有键对应的值

如果键已经存在,你再赋值,效果就是修改。

student = {'name''张三','age'18,'score'95}student['score'] = 98print(student)

输出:

{'name''张三''age'18'score'98}

原来 score 是 95,现在变成了 98。

这个操作看着普通,但在实际开发里用得非常多。

比如:

修改用户昵称 更新库存 刷新登录时间 调整订单状态

本质上都是改某个键对应的值。

比如商品库存:

product = {'name''键盘','price'299,'stock'50}product['stock'] = 49print(product)

这就是一次很典型的更新操作。

七、同样是赋值,怎么区分是新增还是修改

这是很多新手一开始会迷糊的点。

看下面这两句:

student['score'] = 95student['age'] = 20

第一句可能是新增。 第二句可能是修改。

判断方法只有一个:

看这个键之前存不存在。

如果不存在,就是新增。 如果已经存在,就是修改。

你不需要额外写两套语法,Python 会自动帮你处理。

这一点其实很省脑子。

八、删:del 删除键值对

字典里的删除,最常见的是用 del

student = {'name''张三','age'18,'score'95}del student['age']print(student)

输出:

{'name''张三''score'95}

age 这个键值对就被删掉了。

这里要注意,del 删除的是整组内容,不是只删值不删键。 字典里键和值是一对一对绑在一起的。

删的时候也有一个坑:

如果你删的键根本不存在,也会报错。

比如:

del student['gender']

如果 gender 本来就没有,程序就会报错。

所以 del 适合你非常确定这个键存在的时候用。

九、pop():删除并顺手拿到被删掉的值

有时候,我们不只是想删除,还想知道删掉的到底是什么。

这时候可以用 pop()

student = {'name''张三','age'18,'score'95}age = student.pop('age')print(age)print(student)

输出:

18{'name''张三''score'95}

你看,pop() 很像一种顺手带走。

一边删 一边把删掉的值拿回来

这在很多场景里都很好用。

比如用户退出登录时,把 token 从字典里移除,同时记录一下被移除的值。 比如处理参数时,把一个字段拿出来后就不再保留。

不过也要注意:

如果你 pop() 一个不存在的键,也会报错。

你也可以给默认值,避免报错:

result = student.pop('gender''没有这个字段')print(result)

输出:

没有这个字段

这种写法在防御性编程里很常见。

十、clear():一键清空字典

如果你想把字典里的内容全部清空,可以用 clear()

student = {'name''张三','age'18,'score'95}student.clear()print(student)

输出:

{}

这时候字典还在,只是里面的内容没了。

你可以把它理解成:

不是把这个箱子扔了 而是把箱子里的东西全倒空了

这和变量直接重新赋值为空字典虽然结果类似,但语义上还是稍微有点区别。

十一、len():快速看字典里有多少组数据

字典里最常见的统计动作,不是求和,而是先看字段数量。

student = {'name''张三','age'18,'gender''男','score'95}print(len(student))

输出:

4

因为它有 4 个键值对。

你以后处理配置、接口返回、表单提交时,经常会先看看字典里到底装了多少项。len() 就是最直接的方式。

十二、in 和 not in:判断键在不在

字典里也能用 in

但这里有个重要细节:

对字典使用 in,判断的是键,不是值。

看代码:

student = {'name''张三','age'18,'score'95}print('name'in student)print('gender'in student)

输出:

TrueFalse

它看的不是有没有值叫张三,而是有没有键叫 name

这一点很重要。

比如你想在修改前先判断字段在不在:

if'score'in student:    student['score'] = 100

这就很稳。

很多时候,先判断再操作,比上来就硬取要安全。

十三、update():一次更新多组数据

前面我们说过,字典可以一组一组地新增或修改。 但如果你一次要更新很多项,一个个写就有点慢。

这时候可以用 update()

student = {'name''张三','age'18}student.update({'age'20,'score'96,'city''上海'})print(student)

输出:

{'name''张三''age'20'score'96'city''上海'}

这里发生了三件事:

age 原来有,所以被修改score 原来没有,所以被新增city 原来没有,所以也被新增

这就是 update() 的好处。

一口气更新一批字段,非常适合处理接口参数、配置合并、默认值覆盖这些场景。

十四、遍历字典:真正开始批量处理数据

前面的增删改查,更多是在单独操作某一个字段。 但程序里更常见的情况是:

我要把整个字典扫一遍

这就进入遍历了。

遍历字典,是你把字典真正用起来的关键一步。

十五、直接遍历字典,拿到的是键

先看最基础的写法:

student = {'name''张三','age'18,'score'95}for key in student:    print(key)

输出:

nameagescore

注意,直接 for key in student,拿到的是键,不是值。

这一点一定要记住。

很多新手第一次写时,以为会把整组内容取出来,结果打印出来全是字段名,然后就懵了。

其实这是字典的默认遍历规则。

十六、通过键再去拿值

既然遍历时拿到的是键,那我们就可以再根据键去取值。

student = {'name''张三','age'18,'score'95}for key in student:    print(key, student[key])

输出:

name 张三age 18score 95

这就是最经典的字典遍历方式。

先拿键 再根据键拿值

你以后做数据展示、打印信息、生成报表时,这个写法会非常高频。

十七、keys():只看所有键

虽然直接遍历字典本身就能拿到键,但有时候为了代码更清楚,也会显式写 keys()

student = {'name''张三','age'18,'score'95}for key in student.keys():    print(key)

效果和直接遍历字典差不多。

输出:

nameagescore

那为什么还要有 keys()

因为它表达得更明确。 一眼就能知道,你现在就是在处理所有键。

在教学里,它也能帮新手把思路理顺:

字典里有键,也有值 现在我只拿键这一部分

十八、values():只遍历所有值

如果你只关心值,不关心键,就可以用 values()

student = {'name''张三','age'18,'score'95}for value in student.values():    print(value)

输出:

张三1895

这种写法在做数据汇总时特别常见。

比如你有一堆商品库存,想把所有库存值拿出来处理。 或者你只想看所有分数,不关心是谁的分数。

这时候 values() 就很顺手。

十九、items():同时拿到键和值

这是字典遍历里最好用的一种方式。

student = {'name''张三','age'18,'score'95}for key, value in student.items():    print(key, value)

输出:

name 张三age 18score 95

这个写法为什么受欢迎?

因为它省事。

不用你先拿键,再单独写一次 student[key]。 直接一次把键和值都拆出来了。

你可以把 items() 理解成:

把字典里的每一组 键:值 都成对拿出来

如果你以后只记一种字典遍历写法,优先记这个。

因为它最完整,也最常用。

二十、一个真实感更强的遍历例子

光看抽象例子还是容易忘,我们来写一个更像实际业务的小场景。

比如你要把用户资料打印成整齐的信息卡:

user = {'用户名''coder01','年龄'20,'城市''杭州','会员'True}for key, value in user.items():    print(key, ':', value)

输出:

用户名 : coder01年龄 : 20城市 : 杭州会员 : True

这种写法以后你做日志、做表单展示、做信息回显时,都会经常见到。

字典一旦会遍历,很多数据展示就不再难了。

二十一、遍历时修改字典,要小心

这部分是一个容易忽略但很重要的提醒。

一般不建议你在遍历字典的同时,直接对它增删键。

比如这种写法就很危险:

data = {'a'1,'b'2,'c'3}for key in data:if key == 'b':del data[key]

这样很容易出问题。

因为你一边在走这张表,一边又在改这张表的结构。 程序很容易混乱。

更稳的做法是:

先决定哪些要删 遍历结束后再删

或者先复制出一份键列表再操作。

新手阶段先记住一句就行:

遍历时尽量只读少改,尤其别边遍历边删键

二十二、字典增删改查,放在一起看一遍

现在我们把前面的操作串起来,做一个完整演示。

student = {'name''张三','age'18}# 查print(student.get('name'))# 增student['score'] = 95# 改student['age'] = 19# 删student.pop('name')# 遍历for key, value in student.items():    print(key, value)

输出大致是:

张三age 19score 95

你会发现,字典这套东西并不复杂。 真正需要你掌握的,不是死背方法名,而是形成操作习惯。

我要拿数据,用什么方式最安全 我要补字段,怎么加 我要更新字段,怎么写 我要删内容,是不是还要顺手拿回旧值 我要批量看内容,用哪种遍历更顺

这才是实战思维。

二十三、字典和列表一起用,才更像真实项目

现实里的数据,常常不是一个字典单独存在,而是很多字典放在一个列表里。

比如学生列表:

students = [    {'name''张三''score'95},    {'name''李四''score'88},    {'name''王五''score'92}]

这时候你就可以这样遍历:

for student in students:    print(student['name'], student['score'])

输出:

张三 95李四 88王五 92

你看,一旦字典和列表组合起来,程序就开始有一点项目味道了。

所以这章虽然讲的是字典基本操作,但它其实是在给后面的项目开发打地基。

二十四、最容易犯的几个错,提前帮你避坑

先说第一个。

很多人会把字典当列表,写出这样的代码:

student[0]

这是不对的。 字典不是按位置取值,而是按键取值。

第二个坑,是键名写错。

student['scroe']

你以为写的是 score,结果字母顺序错了。 这种错误特别常见,而且肉眼很容易漏过去。

第三个坑,是想当然地取不存在的键。

student['phone']

如果没有这个字段,程序就会报错。 不确定时,优先考虑 get()

第四个坑,是边遍历边删除。

这个前面已经提醒过,新手阶段尽量绕开。

二十五、练习题:别看懂就算,自己一定要敲

下面这些练习非常适合巩固这一章。

1. 定义一个商品字典,包含商品名、价格、库存,然后打印商品名

product = {'name''鼠标','price'59.9,'stock'300}print(product['name'])

2. 给这个商品字典新增一个品牌字段

product['brand'] = '罗技'print(product)

3. 把价格改成 49.9

product['price'] = 49.9print(product)

4. 删除库存字段

del product['stock']print(product)

5. 遍历字典,打印所有键和值

for key, value in product.items():    print(key, value)

你把这几步自己敲一遍,字典的基础操作基本就顺了。

二十六、本章小结

这一章你真正要带走的,不只是几个方法名,而是一整套字典操作思路。

查值,最直接的是中括号,不确定键在不在时用 get() 更稳。 新增和修改,都是通过赋值完成。 删除可以用 del,也可以用 pop()。 清空整个字典,用 clear()。 判断键是否存在,可以用 in。 批量处理字典内容,最常用的是 items() 遍历。

把这些放在一起,你就已经掌握了字典最核心的实战能力。

从这一章开始,字典不再只是一个看着懂的数据类型,而是真正成了你手里的工具。

下一章我们继续讲 集合 set 入门:去重为什么这么高效。 到了那里,你会发现,原来有些问题用列表做很笨,用集合却能一下子变轻松。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 18:13:29 HTTP/2.0 GET : https://f.mffb.com.cn/a/489900.html
  2. 运行时间 : 0.088104s [ 吞吐率:11.35req/s ] 内存消耗:5,052.21kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=3723f668cf1f396063853bce7da54edb
  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.000571s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000929s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000288s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000283s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000538s ]
  6. SELECT * FROM `set` [ RunTime:0.000191s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000547s ]
  8. SELECT * FROM `article` WHERE `id` = 489900 LIMIT 1 [ RunTime:0.000489s ]
  9. UPDATE `article` SET `lasttime` = 1783160009 WHERE `id` = 489900 [ RunTime:0.003987s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000321s ]
  11. SELECT * FROM `article` WHERE `id` < 489900 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000614s ]
  12. SELECT * FROM `article` WHERE `id` > 489900 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004440s ]
  13. SELECT * FROM `article` WHERE `id` < 489900 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002422s ]
  14. SELECT * FROM `article` WHERE `id` < 489900 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001786s ]
  15. SELECT * FROM `article` WHERE `id` < 489900 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002441s ]
0.089954s