当前位置:首页>python>Python列表:不止是“装东西”的万能收纳盒

Python列表:不止是“装东西”的万能收纳盒

  • 2026-02-07 15:09:04
Python列表:不止是“装东西”的万能收纳盒

在Python的世界里,列表(list)绝对是“国民级工具”——就像你书桌抽屉里的万能收纳盒,既能塞零散的笔,也能放整叠的纸,还能混装便签和U盘。新手觉得它“简单到不值一提”,老手却能把它玩出百般花样,堪称“入门必学、进阶必备”的神器。今天咱们就来扒一扒列表的底细,从基础操作高级玩法,用最接地气的比喻把技术讲透,让你看完既能搞定实操,又能在面试时露一手。

一、基础功能:把收纳盒用明白

先明确核心定位:列表是Python中最灵活的“有序可变容器”。“有序”意味着元素都有专属“索引”(座位号),“可变”则允许你随时增减、替换元素——这和元组(tuple)那个“密封收纳盒”截然不同,列表主打的就是一个随心所欲。

1. 创建列表:给收纳盒“开光”

创建列表就像入手一个新收纳盒,你可以让它空着,也能一到手就装满东西。最常用的两种方式,简单到闭着眼都能写对:

第一种是“直接塞东西”,用**方括号[]**把元素括起来,元素之间用逗号隔开,堪称“懒人专属”:

# 装水果的收纳盒
fruit_box = ["苹果""香蕉""橙子"]
# 混装的收纳盒(列表不挑元素类型,万物皆可装)
mix_box = [123"Python"True, [1,2,3]]  # 里面还能套个小收纳盒(嵌套列表)

第二种是用list()函数“批量装东西”,适合把其他“容器”(比如字符串元组)里的东西转进列表:

# 把字符串拆成单个字符,装进列表
str_to_list = list("Python")  # 结果:['P','y','t','h','o','n']
# 把元组转成列表(解锁“修改权限”)
tuple_to_list = list(("猫""狗""猪"))  # 结果:['猫','狗','猪']

这里插个小吐槽:新手常踩的小坑是末尾多写逗号,比如[1,2,]——虽然Python不会报错,但就像收纳盒里留了个空位置,看着格外别扭,规范写法建议去掉末尾逗号。

2. 访问元素:精准找到“某件东西”

列表里的每个元素都有专属“座位号”(索引),就像收纳盒上的格子编号。重点提醒!Python的索引是“从0开始计数”的——这就像电影院座位从1排起,Python偏要从0排算,刚开始难免绕晕,多练几次就习惯了。

fruit_box = ["苹果""香蕉""橙子"]
print(fruit_box[0])  # 取第0个元素:苹果
print(fruit_box[2])  # 取第2个元素:橙子

除了正向索引,还能使用反向索引——从收纳盒最右侧开始计数,-1代表最后一个元素,-2代表倒数第二个,特别适合不知道列表长度时快速抓取末尾元素。

print(fruit_box[-1])  # 倒数第一个:橙子
print(fruit_box[-2])  # 倒数第二个:香蕉

若索引超出列表范围,Python会直接抛出IndexError错误,就像非要从只有3个格子的收纳盒里找第5格的东西,自然是竹篮打水。这里分享个避坑小技巧:先用 len() 函数获取列表长度,再访问元素,就能有效规避报错。

box_length = len(fruit_box)  # 3
if0 <= index < box_length:
    print(fruit_box[index])
else:
    print("索引越界啦!")

3. 切片:批量“拿一堆东西”

如果想从收纳盒里取出连续的一堆东西,逐个访问太过繁琐,这时“切片”功能就能派上用场——相当于用一把尺子划定范围,从指定位置切到另一处,把中间的元素一次性取出。切片语法为:列表[起始索引:结束索引:步长],三个参数均可省略,灵活度拉满。

先讲最基础的“起始+结束”组合,务必记住:切片遵循“左闭右开”规则,即包含起始索引对应的元素,不包含结束索引对应的元素。这就像你说“拿第0到第2个元素”,实际只能拿到第0和第1个,这个坑一定要记死。

fruit_box = ["苹果""香蕉""橙子""葡萄""芒果"]
# 取第1到第3个元素(不包含3),结果:["香蕉", "橙子"]
print(fruit_box[1:3])
# 省略起始索引,从第0个切到第3个:["苹果", "香蕉", "橙子"]
print(fruit_box[:3])
# 省略结束索引,从第2个切到末尾:["橙子", "葡萄", "芒果"]
print(fruit_box[2:])

再来说说“步长”,它相当于“每隔几个元素取一个”,默认步长为1(即连续取值)。步长设为2时,会跳一个元素取一个;步长为负数时,还能实现反向切片(从右往左取值)。

# 步长为2,跳一个拿一个:["苹果", "橙子", "芒果"]
print(fruit_box[::2])
# 反向切片,步长为-1,相当于反转列表:["芒果", "葡萄", "橙子", "香蕉", "苹果"]
print(fruit_box[::-1])
# 从第3个元素反向切到第1个:["葡萄", "橙子"]
print(fruit_box[3:1:-1])

切片还有个贴心特性:即便索引越界也不会报错,只会返回能取到的元素,就像从收纳盒里多切了一刀,最多只能拿到盒子里现存的东西,不会凭空变出元素。

4. 增删改:给收纳盒“换内容”

列表的“可变”特性,核心就体现在增删改操作上——如同收纳盒能随时添东西、扔废物、换物品,操作起来灵活自如。

先讲“修改”:直接通过索引赋值,把旧元素换成新元素,简单粗暴:

fruit_box = ["苹果""香蕉""橙子"]
fruit_box[1] = "榴莲"# 把第1个元素换成榴莲
print(fruit_box)  # 结果:["苹果", "榴莲", "橙子"]

新增元素有三种常用方法,分别适配不同场景,咱们逐一说明:

  • **append()**:在列表末尾添加单个元素,相当于把东西直接扔到收纳盒最底层,执行效率最高,推荐优先使用:
fruit_box.append("葡萄")  # 结果:["苹果", "榴莲", "橙子", "葡萄"]
  • **insert()**:在指定索引位置插入元素,相当于在收纳盒中间塞进一件东西,后续元素都要依次后移——这种方式效率偏低,列表越长,元素后移的成本越高,非必要不建议用:
fruit_box.insert(2"芒果")  # 在第2个位置插芒果
print(fruit_box)  # 结果:["苹果", "榴莲", "芒果", "橙子", "葡萄"]
  • **extend()**:将另一个列表的所有元素批量添加到当前列表末尾,相当于把另一个收纳盒的东西全倒进来。它和append()的核心区别在于:append()会把整个列表当作单个元素添加:
other_fruits = ["西瓜""菠萝"]
fruit_box.extend(other_fruits)  # 批量添加
print(fruit_box)  # 结果:["苹果", "榴莲", "芒果", "橙子", "葡萄", "西瓜", "菠萝"]
# 对比append()的效果
fruit_box.append(other_fruits)  # 把列表当一个元素加进去
print(fruit_box)  # 末尾会多一个列表:[..., ["西瓜", "菠萝"]]

删除元素同样有四种常用方法,可根据实际需求选择:

  • del:按索引删除元素,也能直接删除整个列表,相当于要么拆掉收纳盒的某个格子,要么把整个收纳盒扔掉:
del fruit_box[1]  # 删除第1个元素(榴莲)
del fruit_box  # 删除整个列表,之后再访问会报错
  • **pop()**:按索引删除元素,且会返回被删除的元素,相当于把东西从收纳盒里拿出来,还能当场看清拿的是什么——默认删除列表最后一个元素:
deleted_fruit = fruit_box.pop()  # 删除最后一个元素(菠萝),返回“菠萝”
deleted_fruit = fruit_box.pop(2)  # 删除第2个元素(芒果),返回“芒果”
  • **remove()**:按元素值删除对应元素,相当于在收纳盒里找特定物品,找到后直接扔掉。需注意:若存在重复元素,仅删除第一个;若元素不存在,会抛出报错:
fruit_box.remove("橙子")  # 删除“橙子”
# 重复元素的情况
num_box = [1,2,3,2,4]
num_box.remove(2)  # 只删第一个2,结果:[1,3,2,4]
  • **clear()**:清空列表内所有元素,相当于把收纳盒里的东西全倒空,只留下空盒子本身:
fruit_box.clear()  # 结果:[]

二、高级用法:把收纳盒玩出花

学会基础操作,只能算“会用收纳盒”;掌握高级玩法,才算真正“玩明白列表”。这部分内容不仅能提升代码执行效率,还能让你的代码更简洁优雅,面试时被问到也能从容应答。

1. 列表推导式:一键“批量造元素”

如果想创建有规律的列表(比如1到10的平方、筛选偶数),用普通循环要写三四行代码,而列表推导式一行就能搞定——相当于给收纳盒装东西时启用流水线批量生产,无需逐个摆放,简洁又高效,更是Python程序员的必备炫技神器。

其基础语法为:[表达式 for 变量 in 可迭代对象 if 条件判断],通俗来讲就是:遍历可迭代对象中的每个变量,若满足设定条件,就执行表达式并将结果存入列表。

先看个简单例子:创建1到10的平方列表,用循环和推导式对比:

# 普通循环
square_list = []
for i in range(111):
    square_list.append(i*i)
# 列表推导式
square_list = [i*i for i in range(111)]
print(square_list)  # 结果:[1,4,9,...,100]

再加上条件判断,筛选出1到10中的偶数平方:

even_square = [i*i for i in range(1,11if i%2 == 0]
print(even_square)  # 结果:[4, 16, 36, 64, 100]

还能写“嵌套推导式”,相当于多层循环,比如创建一个2x3的二维列表(嵌套列表):

two_d_list = [[i*j for j in range(1,4)] for i in range(1,3)]
print(two_d_list)  # 结果:[[1,2,3], [2,4,6]]

这里提醒一句:列表推导式虽好用,但别过度复杂化。若嵌套超过两层,代码可读性会急剧下降,就像把收纳盒堆成小山,后续找东西反而更麻烦。

2. 匿名函数+列表:灵活“处理元素”

将 匿名函数(lambda) 与 map() 、filter() 函数结合,能快速实现列表元素的批量改造与筛选,相当于给收纳盒里的所有东西做个专属SPA——无需编写复杂函数,一行代码就能搞定。

map()函数:

它会对列表中的每个元素执行同一操作,相当于给收纳盒里的每件物品都贴一张统一标签。

num_list = [1,2,3,4,5]
# 用lambda函数把每个元素乘2,map()返回迭代器,转成列表
double_list = list(map(lambda x: x*2, num_list))
print(double_list)  # 结果:[2,4,6,8,10]

filter()函数

它会按设定条件筛选元素,相当于把收纳盒里的东西逐一筛选,不符合条件的直接剔除。


# 筛选出大于3的元素
big_num = list(filter(lambda x: x>3, num_list))
print(big_num)  # 结果:[4,5]

可能有人会问:这和列表推导式不就是重复功能吗?其实二者各有优势:简单场景下,列表推导式可读性更强;复杂场景中,map()和filter()可组合多个函数使用,灵活性更高。比如同时实现“元素乘2+筛选大于5的结果”,两种写法都能实现。

# 列表推导式
result = [x*2for x in num_list if x*2 >5]
# map+filter
result = list(filter(lambda x: x>5, map(lambda x: x*2, num_list)))

两种写法都能得到结果[6,8,10],按需选择即可。

3. 列表的“隐藏技能”:排序、计数、反转

除了基础的增删改查,列表还有几个实用的“隐藏技能”,无需手动编写逻辑,调用对应方法就能实现。

首先是排序功能,有两种常用方式:sort() 和 sorted() 。前者是“原地排序”,直接修改原列表,相当于把收纳盒里的东西重新按顺序摆放;后者会生成新列表,原列表保持不变,相当于复印一份再排序。

num_list = [3,1,4,2,5]
# sort()原地排序,默认升序
num_list.sort()
print(num_list)  # 结果:[1,2,3,4,5]
# 降序排序
num_list.sort(reverse=True)
print(num_list)  # 结果:[5,4,3,2,1]

# sorted()生成新列表,原列表不变
new_list = sorted(num_list, reverse=True)
print(new_list)  # 降序新列表
print(num_list)  # 原列表不变

这里要注意:sort()只支持元素类型一致的列表排序,比如全是数字或全是字符串,混装不同类型元素的列表排序会直接报错——就像要给苹果和书本按大小排序,根本无法比较。

其次是 计数 功能:count() 方法可统计指定元素在列表中的出现次数,相当于数清楚收纳盒里有多少件相同的物品。

num_list = [1,2,2,3,2,4]
print(num_list.count(2))  # 结果:3(2出现了3次)

最后是反转功能:reverse() 方法会原地反转列表顺序,相当于把收纳盒倒扣过来,里面的东西顺序完全颠倒。

fruit_box = ["苹果""香蕉""橙子"]
fruit_box.reverse()
print(fruit_box)  # 结果:["橙子", "香蕉", "苹果"]

值得一提的是,反转列表也能用切片[::-1]实现,这种方式会生成新列表,不会改变原列表内容,可根据需求选择。

4. 列表作为栈和队列:一物两用

列表的特性使其能轻松模拟“栈”“ 队列”两种数据结构,相当于一个收纳盒既能用来“叠盘子”(对应栈),又能用来“排队买票”(对应队列),实现一物两用。

栈(LIFO:后进先出):就像叠盘子,最后放上去的盘子要最先拿下来。借助 append() (从末尾添加)和 pop() (从末尾删除)就能实现,执行效率极高。

stack = []
# 入栈(叠盘子)
stack.append("盘子1")
stack.append("盘子2")
stack.append("盘子3")
# 出栈(拿盘子)
print(stack.pop())  # 盘子3(最后放的先拿)
print(stack.pop())  # 盘子2

队列(FIFO:先进先出):就像排队买票,最先排队的人能最先购票。可用append() (从末尾添加)和pop(0)(从开头删除)实现,但要注意:pop(0)效率较低,删除开头元素后,后续所有元素都要向前移动。若队列元素较多,推荐使用collections.deque,效率会大幅提升。

queue = []
# 入队(排队)
queue.append("人1")
queue.append("人2")
queue.append("人3")
# 出队(买票)
print(queue.pop(0))  # 人1(最先排的先买)
print(queue.pop(0))  # 人2

# 高效队列(推荐)
from collections import deque
queue = deque()
queue.append("人1")
queue.popleft()  # 出队,效率比pop(0)高得多

5. 列表深浅拷贝:避免“牵一发而动全身”

这是新手最容易踩的坑,没有之一:列表赋值时默认是“引用赋值”,相当于给同一个收纳盒贴了张新标签,并非复制出一个全新收纳盒——修改新标签对应的列表,原列表内容也会跟着改变。

a = [1,2,3]
b = a  # 引用赋值,不是拷贝
b[0] = 100# 修改b
print(a)  # 结果:[100,2,3](a也变了)

要解决这个问题,就需要用到“拷贝”功能,具体分为浅拷贝深拷贝两种场景:

浅拷贝:仅复制列表的外层元素,相当于复制了一个收纳盒,但盒内的“小收纳盒”(嵌套列表)仍与原列表共享。这种方式适合列表元素均为不可变类型(如数字、字符串)的场景。

a = [1,2,[3,4]]
# 浅拷贝方式1:切片
b = a[:]
# 浅拷贝方式2:list()函数
b = list(a)
# 修改外层元素,a不变
b[0] = 100
print(a)  # 结果:[1,2,[3,4]]
# 修改嵌套列表(内层元素),a也变
b[2][0] = 300
print(a)  # 结果:[1,2,[300,4]]

深拷贝:会完全复制整个列表,包括嵌套的内层元素,相当于复制了一个收纳盒,连盒内的小收纳盒也一并复制,与原列表完全独立。这种方式适合存在嵌套列表的场景,需导入copy模块实现。

import copy
a = [1,2,[3,4]]
b = copy.deepcopy(a)  # 深拷贝
b[2][0] = 300
print(a)  # 结果:[1,2,[3,4]](a不变)

总结一下:若列表无嵌套元素,浅拷贝即可满足需求;若存在嵌套元素,务必使用深拷贝,避免出现“牵一发而动全身”的问题。

三、避坑指南:这些错误别再犯了

讲完用法,咱们再来盘点几个新手常犯的错误,帮你提前避坑:

  • 索引越界:忘记索引从0开始,或访问的索引超出列表长度。建议用len() 函数先确认列表长度,再访问元素,可有效避免报错。

  • 混淆append()和extend() :二者核心区别在于,append() 添加整个元素, extend() 批量添加另一个列表的元素。不确定时可打印结果对比,快速分清用法。

  • 误将引用赋值当拷贝:直接用=赋值,导致修改新列表时影响原列表。需根据是否有嵌套元素,选择浅拷贝或深拷贝。

  • 用列表实现队列效率低pop(0)会导致后续元素整体前移,元素越多效率越低。元素较多时,建议用collections.deque替代。

  • 列表推导式过度复杂:嵌套超过两层会严重降低代码可读性,增加后期维护成本。建议嵌套层数不超过两层,复杂逻辑可拆成普通循环。

四、总结:列表的“万能属性”

Python列表就像一个万能收纳盒,基础功能能满足日常“装东西、取东西”的需求,高级用法则能实现批量处理、数据结构模拟等复杂场景,是Python中最常用、最灵活的数据类型之一。

新手阶段,先把基础的增删改查切片操作练扎实,就能应对大部分开发场景;进阶阶段,掌握列表推导式深浅拷贝栈与队列模拟等用法,能让你的代码更高效、更优雅。记住:技术的核心是解决问题,列表的用法再多样,最终都是为了让代码更简洁、更易维护。

最后留个小练习:用列表推导式筛选出1到100中的质数,再用sort() 排序。动手实操才能真正掌握,如果你踩了坑,欢迎在评论区留言,咱们一起交流解决!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 06:06:19 HTTP/2.0 GET : https://f.mffb.com.cn/a/466206.html
  2. 运行时间 : 1.160317s [ 吞吐率:0.86req/s ] 内存消耗:4,613.04kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d8ff82e96da546a4726415b8f6acb2cc
  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.000999s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001304s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.044388s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004572s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001496s ]
  6. SELECT * FROM `set` [ RunTime:0.008506s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001580s ]
  8. SELECT * FROM `article` WHERE `id` = 466206 LIMIT 1 [ RunTime:0.075772s ]
  9. UPDATE `article` SET `lasttime` = 1770501979 WHERE `id` = 466206 [ RunTime:0.001557s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.003552s ]
  11. SELECT * FROM `article` WHERE `id` < 466206 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001863s ]
  12. SELECT * FROM `article` WHERE `id` > 466206 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.063240s ]
  13. SELECT * FROM `article` WHERE `id` < 466206 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.449743s ]
  14. SELECT * FROM `article` WHERE `id` < 466206 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.286892s ]
  15. SELECT * FROM `article` WHERE `id` < 466206 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.046617s ]
1.164156s