当前位置:首页>python>为什么你的列表处理总是乱套?90% 的python新手都死在了 “赋值” 这一步

为什么你的列表处理总是乱套?90% 的python新手都死在了 “赋值” 这一步

  • 2026-02-02 05:16:34
为什么你的列表处理总是乱套?90% 的python新手都死在了 “赋值” 这一步

前言导读

在Python编程中,列表(list)是最基础也是最灵活的数据结构之一。无论是数据处理、算法实现还是日常开发,列表都扮演着核心角色。然而,许多初学者在列表操作中会遇到各种"坑":索引越界、空列表判断、深浅拷贝混淆等问题。本文将系统梳理Python列表的核心知识点,通过丰富的实例帮助大家彻底掌握列表处理技巧。

列表基础与创建

1.列表的创建与特性

Python列表是有序、可变的序列,可以存储任意类型的元素。

#- 创建空列表

empty_list = []

empty_list2 = list()

#- 创建包含元素的列表

numbers = [1, 2, 3, 4, 5]

mixed = [1, "hello", 3.14, True]  # 可以混合不同类型

nested = [[1, 2], [3, 4]]        # 嵌套列表

print(len(numbers))  # 输出: 5

关键特性:列表是可变的,这意味着我们可以修改、添加、删除元素,这与字符串的不可变性形成对比。

2.列表索引与切片

列表的索引和切片操作与字符串类似,但要注意列表是可变的:

fruits = ['apple', 'banana', 'cherry', 'date']

#- 正向索引(从0开始)

print(fruits[0])    # 输出: 'apple'

print(fruits[2])    # 输出: 'cherry'

#- 反向索引(从-1开始)

print(fruits[-1])   # 输出: 'date'

print(fruits[-2])   # 输出: 'cherry'

#- 切片操作

print(fruits[1:3])  # 输出: ['banana', 'cherry']

print(fruits[:2])   # 输出: ['apple', 'banana']

print(fruits[2:])   # 输出: ['cherry', 'date']

常见错误:索引越界会引发IndexError,这是初学者最常遇到的错误之一。

#- 错误示例

#- print(fruits[10])  # IndexError: list index out of range

列表的增删改操作

1.添加元素

fruits = ['apple', 'banana']

#- append() - 在末尾添加单个元素

fruits.append('cherry')

print(fruits)  # ['apple', 'banana', 'cherry']

#- extend() - 在末尾添加多个元素(合并列表)

fruits.extend(['date', 'elderberry'])

print(fruits)  # ['apple', 'banana', 'cherry', 'date', 'elderberry']

#- insert() - 在指定位置插入元素

fruits.insert(1, 'orange')

print(fruits)  # ['apple', 'orange', 'banana', 'cherry', 'date', 'elderberry']

#- + 运算符(创建新列表)

new_fruits = fruits + ['fig', 'grape']

print(new_fruits)  # 新列表,原列表不变

重要区别:append()和extend()的区别是初学者容易混淆的点。append()将整个对象作为一个元素添加,而extend()会展开可迭代对象。

#- 对比示例

list1 = [1, 2]

list1.append([3, 4])  # 结果是 [1, 2, [3, 4]]

list2 = [1, 2]

list2.extend([3, 4])  # 结果是 [1, 2, 3, 4]

2.删除元素

numbers = [1, 2, 3, 4, 5, 6, 7, 8]

#- remove() - 删除第一个匹配的元素

numbers.remove(3)  # 删除值为3的元素

print(numbers)     # [1, 2, 4, 5, 6, 7, 8]

#- pop() - 删除指定位置的元素并返回

removed = numbers.pop(2)  # 删除索引为2的元素

print(removed)            # 4

print(numbers)            # [1, 2, 5, 6, 7, 8]

#- del语句 - 删除指定位置或切片

del numbers[0]           # 删除第一个元素

print(numbers)           # [2, 5, 6, 7, 8]

del numbers[1:3]         # 删除切片

print(numbers)           # [2, 7, 8]

#- clear() - 清空列表

numbers.clear()

print(numbers)           # []

3.修改元素

fruits = ['apple', 'banana', 'cherry']

#- 直接通过索引修改

fruits[1] = 'orange'

print(fruits)  # ['apple', 'orange', 'cherry']

#- 通过切片批量修改

fruits[0:2] = ['pear', 'grape']

print(fruits)  # ['pear', 'grape', 'cherry']

#- 注意:切片赋值可以改变列表长度

fruits[1:2] = ['a', 'b', 'c']

print(fruits)  # ['pear', 'a', 'b', 'c', 'cherry']

列表的查询与判断

1.元素查询

fruits = ['apple', 'banana', 'cherry', 'apple']

#- in 运算符判断元素是否存在

print('banana' in fruits)    # True

print('orange' in fruits)    # False

#- index() 查找元素第一次出现的索引

print(fruits.index('banana'))  # 1

#- print(fruits.index('orange'))  # ValueError: 'orange' is not in list

#- count() 统计元素出现次数

print(fruits.count('apple'))  # 2

重要提示:使用index()方法时,如果元素不存在会抛出ValueError,建议先使用in判断或使用try-except处理。

2.空列表判断

这是初学者最容易出错的地方之一:

my_list = []

#- 错误方式:直接判断长度是否为0

if len(my_list) == 0:

    print("列表为空")

#- 更Pythonic的方式:直接判断列表本身

if not my_list:  # 空列表在布尔上下文中为False

    print("列表为空")

else:

    print("列表不为空")

为什么推荐第二种方式:更简洁、更符合Python风格,而且对于空列表、None、非空列表都能正确处理。

列表排序与复制

1.排序操作

numbers = [3, 1, 4, 1, 5, 9, 2]

#- sort() - 原地排序(修改原列表)

numbers.sort()

print(numbers)  # [1, 1, 2, 3, 4, 5, 9]

#- sorted() - 返回新列表(原列表不变)

numbers = [3, 1, 4, 1, 5, 9, 2]

sorted_numbers = sorted(numbers)

print(sorted_numbers)  # [1, 1, 2, 3, 4, 5, 9]

print(numbers)         # [3, 1, 4, 1, 5, 9, 2](原列表未变)

#- 降序排序

numbers.sort(reverse=True)

print(numbers)  # [9, 5, 4, 3, 2, 1, 1]

#- 自定义排序(按字符串长度)

words = ['apple', 'banana', 'cherry', 'date']

words.sort(key=len)

print(words)  # ['date', 'apple', 'banana', 'cherry']

2.深浅拷贝问题

这是列表操作中最容易出错的"坑"之一:

#- 浅拷贝(shallow copy)

list1 = [1, 2, [3, 4]]

list2 = list1.copy()  # 或 list2 = list1[:]

list2[0] = 10

print(list1)  # [1, 2, [3, 4]] - 第一层不受影响

print(list2)  # [10, 2, [3, 4]]

#- 修改嵌套列表

list2[2][0] = 99

print(list1)  # [1, 2, [99, 4]] - 嵌套列表被修改了!

print(list2)  # [10, 2, [99, 4]]

#- 深拷贝(deep copy)

import copy

list3 = copy.deepcopy(list1)

list3[2][0] = 100

print(list1)  # [1, 2, [99, 4]] - 原列表不受影响

print(list3)  # [1, 2, [100, 4]]

关键理解:浅拷贝只复制第一层,嵌套对象是共享的;深拷贝会递归复制所有层级。对于包含可变对象(如列表、字典)的列表,通常需要使用深拷贝。

列表推导式与高级操作

1.列表推导式

列表推导式是Python的语法糖,可以简洁地创建列表:

#- 传统方式

squares = []

for i in range(10):

    squares.append(i**2)

print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

#- 列表推导式

squares = [i**2 for i in range(10)]

print(squares)  # 同上

#- 带条件的推导式

even_squares = [i**2 for i in range(10) if i % 2 == 0]

print(even_squares)  # [0, 4, 16, 36, 64]

#- 嵌套循环

pairs = [(x, y) for x in range(3) for y in range(3)]

print(pairs)  # [(0,0), (0,1), (0,2), (1,0), (1,1), (1,2), (2,0), (2,1), (2,2)]

2.其他常用方法

#- reverse() - 原地反转

numbers = [1, 2, 3, 4]

numbers.reverse()

print(numbers)  # [4, 3, 2, 1]

#- 切片反转(创建新列表)

reversed_numbers = numbers[::-1]

#- copy() - 创建浅拷贝

original = [1, 2, 3]

copy_list = original.copy()

copy_list[0] = 10

print(original)  # [1, 2, 3]

print(copy_list)  # [10, 2, 3]

常见问题与解决方案

1.空列表判断的陷阱

问题场景:在循环或条件判断中,错误地判断列表是否为空。

#- 错误示例:直接判断列表长度

my_list = []

if len(my_list) == 0:  # 虽然正确,但不Pythonic

    pass

#- 正确方式

if not my_list:  # 推荐

    print("列表为空")

#- 如果列表可能为None,需要额外判断

my_list = None

if my_list is None or not my_list:

    print("列表为空或为None")

2.循环中修改列表

问题场景:在遍历列表时修改列表,导致意外结果。

#- 错误示例:在循环中删除元素

numbers = [1, 2, 3, 4, 5]

for num in numbers:

    if num % 2 == 0:

        numbers.remove(num)  # 这会改变列表长度,导致跳过元素

print(numbers)  # 可能不是预期结果

#- 正确方式1:创建副本遍历

for num in numbers[:]:  # 遍历副本,修改原列表

    if num % 2 == 0:

        numbers.remove(num)

#- 正确方式2:使用列表推导式

numbers = [num for num in numbers if num % 2 != 0]

#- 正确方式3:倒序遍历(避免索引错位)

for i in range(len(numbers)-1, -1, -1):

    if numbers[i] % 2 == 0:

        del numbers[i]

3.多维列表的初始化

问题场景:错误地初始化二维列表。

#- 错误示例:使用 * 操作符

matrix = [[0] * 3] * 3  # 看似创建了3x3矩阵

matrix[0][0] = 1

print(matrix)  # [[1, 0, 0], [1, 0, 0], [1, 0, 0]] - 所有行都指向同一个列表!

#- 正确方式1:使用列表推导式

matrix = [[0] * 3 for _ in range(3)]

matrix[0][0] = 1

print(matrix)  # [[1, 0, 0], [0, 0, 0], [0, 0, 0]]

#- 正确方式2:嵌套循环

matrix = []

for i in range(3):

    row = []

    for j in range(3):

        row.append(0)

    matrix.append(row)

4.性能优化建议

▶ 避免频繁使用+拼接列表:使用extend()或列表推导式

▶ 判断元素存在时,in操作符的时间复杂度为O(n),对于大列表考虑使用集合(set)

▶ 大量数据操作时,考虑使用NumPy数组(如果元素类型相同)

实战案例

1.数据去重

#- 方法1:使用set(会打乱顺序)

numbers = [1, 2, 2, 3, 3, 3]

unique = list(set(numbers))

print(unique)  # [1, 2, 3](顺序可能改变)

#- 方法2:保持顺序

unique = []

for num in numbers:

    if num not in unique:

        unique.append(num)

print(unique)  # [1, 2, 3]

#- 方法3:使用字典(Python 3.6+保持插入顺序)

unique = list(dict.fromkeys(numbers))

print(unique)  # [1, 2, 3]

2.列表扁平化

#- 二维列表转一维

matrix = [[1, 2], [3, 4], [5, 6]]

flat = []

for row in matrix:

    flat.extend(row)

print(flat)  # [1, 2, 3, 4, 5, 6]

#- 使用列表推导式

flat = [num for row in matrix for num in row]

#- 使用itertools.chain

from itertools import chain

flat = list(chain.from_iterable(matrix))

结语——最佳实践

▲ 空列表判断:使用if not my_list而非len(my_list) == 0

▲ 深浅拷贝:嵌套列表使用copy.deepcopy(),简单列表使用copy()或切片

▲ 循环中修改:避免在遍历时修改原列表,使用副本或倒序遍历

▲ 多维列表初始化:使用列表推导式[[0]*n for _ in range(m)]

▲ 性能敏感场景:考虑使用集合、字典或其他数据结构替代列表

通过掌握这些列表处理技巧和避坑指南,你就能写出更健壮、更高效的Python代码,避免常见的列表操作错误。列表是Python编程的基石,扎实掌握列表操作是成为Python开发者的必经之路。

关注我们

“三度编程”是一家专注于青少儿编程培训的教育机构,专业培训scratch、python、c++等少儿编程课程,旗下学员多人参加蓝桥杯、中国电子学会、ACT等知名编程赛事,多次获得国、省、市、区、校级竞赛奖状,被誉为“少儿编程十大优秀品牌”“诚信办学单位”“年度影响力青少儿编程品牌”“少儿编程金牌团队”。

微信号|sanducoding001

客服电话 |  15001141507

办公地址 | 苏州昆山吾悦广场

服务地区 |  苏州、上海、北京,及全国各地

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 23:43:23 HTTP/2.0 GET : https://f.mffb.com.cn/a/467761.html
  2. 运行时间 : 0.166372s [ 吞吐率:6.01req/s ] 内存消耗:4,810.61kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8ef4d80ab6f0aef5201bdb4532ade92c
  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.000848s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001411s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000577s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000551s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001073s ]
  6. SELECT * FROM `set` [ RunTime:0.000452s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001073s ]
  8. SELECT * FROM `article` WHERE `id` = 467761 LIMIT 1 [ RunTime:0.001209s ]
  9. UPDATE `article` SET `lasttime` = 1770479003 WHERE `id` = 467761 [ RunTime:0.009901s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000459s ]
  11. SELECT * FROM `article` WHERE `id` < 467761 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000854s ]
  12. SELECT * FROM `article` WHERE `id` > 467761 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005173s ]
  13. SELECT * FROM `article` WHERE `id` < 467761 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001260s ]
  14. SELECT * FROM `article` WHERE `id` < 467761 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002168s ]
  15. SELECT * FROM `article` WHERE `id` < 467761 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002342s ]
0.169488s