当前位置:首页>python>【一起学Python】第8天:列表类型详细使用总结

【一起学Python】第8天:列表类型详细使用总结

  • 2026-02-05 00:54:27
【一起学Python】第8天:列表类型详细使用总结

一、什么是列表?

列表是Python中最灵活的有序可变数据结构,可以存储任意类型的数据。
# 基本示例fruits = ['apple''banana''orange']numbers = [12345]mixed = [1'hello'3.14True, [123]]

🔑 列表的核心特性

二、列表的创建方式

方式1:直接创建

# 空列表empty_list = []empty_list2 = list()# 带初始值的列表fruits = ['apple''banana''orange']numbers = [12345]

方式2:使用 list() 构造函数

# 从字符串创建chars = list('hello')print(chars)  # 输出: ['h', 'e', 'l', 'l', 'o']# 从元组创建tuple_data = (123)list_data = list(tuple_data)print(list_data)  # 输出: [1, 2, 3]# 从range创建numbers = list(range(16))print(numbers)  # 输出: [1, 2, 3, 4, 5]# 从字典创建(只取键)dict_data = {'a'1'b'2}keys = list(dict_data)print(keys)  # 输出: ['a', 'b']

方式3:列表推导式(最强大)

# 基础推导式squares = [x**2 for x in range(16)]print(squares)  # 输出: [1, 4, 9, 16, 25]# 带条件的推导式evens = [x for x in range(10if x % 2 == 0]print(evens)  # 输出: [0, 2, 4, 6, 8]# 嵌套推导式matrix = [[i*j for j in range(14)] for i in range(14)]print(matrix)  # 输出: [[1, 2, 3], [2, 4, 6], [3, 6, 9]]

方式4:使用 * 运算符

# 重复元素zeros = [0] * 5print(zeros)  # 输出: [0, 0, 0, 0, 0]# ⚠️ 注意:嵌套列表的陷阱wrong = [[]] * 3  # 三个引用指向同一个列表wrong[0].append(1)print(wrong)  # 输出: [[1], [1], [1]]  # 所有子列表都被修改了!# ✅ 正确方式correct = [[] for _ in range(3)]correct[0].append(1)print(correct)  # 输出: [[1], [], []]

三、列表的属性

1. 长度 - len()

fruits = ['apple''banana''orange']print(len(fruits))  # 输出: 3# 空列表empty = []print(len(empty))  # 输出: 0# 嵌套列表nested = [[12], [345]]print(len(nested))  # 输出: 2 (只计算外层元素个数)

2. 索引访问

fruits = ['apple''banana''orange''grape''mango']# 正向索引(从0开始)print(fruits[0])   # appleprint(fruits[1])   # bananaprint(fruits[2])   # orange# 反向索引(从-1开始)print(fruits[-1])  # mango (最后一个)print(fruits[-2])  # grape (倒数第二个)print(fruits[-3])  # orange (倒数第三个)# 索引对照表# 索引:    0        1         2        3       4# 元素: 'apple' 'banana' 'orange' 'grape' 'mango'# 反向:   -5       -4        -3       -2      -1

3. 切片操作

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 基本切片 [start:stop:step]print(numbers[2:5])      # [2, 3, 4] (不包含索引5)print(numbers[:5])       # [0, 1, 2, 3, 4] (从开头到索引5)print(numbers[5:])       # [5, 6, 7, 8, 9] (从索引5到结尾)print(numbers[:])        # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] (完整复制)# 带步长的切片print(numbers[::2])      # [0, 2, 4, 6, 8] (每隔一个取一个)print(numbers[1::2])     # [1, 3, 5, 7, 9] (从索引1开始,每隔一个)print(numbers[::3])      # [0, 3, 6, 9] (每隔两个取一个)# 反向切片print(numbers[::-1])     # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (反转列表)print(numbers[-3:])      # [7, 8, 9] (最后三个元素)print(numbers[:-3])      # [0, 1, 2, 3, 4, 5, 6] (除了最后三个)# 高级切片print(numbers[2:8:2])    # [2, 4, 6] (从索引2到8,步长2)print(numbers[8:2:-1])   # [8, 7, 6, 5, 4, 3] (反向切片)

四、列表的核心方法(11个必会)

1️⃣ append() - 末尾添加元素

fruits = ['apple''banana']# 添加单个元素fruits.append('orange')print(fruits)  # 输出: ['apple''banana''orange']# 添加列表(整体作为一个元素)fruits.append(['grape''mango'])print(fruits)  # 输出: ['apple''banana''orange', ['grape''mango']]# ⚠️ 注意:append()修改原列表,返回Noneresult = fruits.append('kiwi')print(result)  # 输出: None
时间复杂度:O(1) - 最快的添加方式

2️⃣ extend() - 批量添加元素

fruits = ['apple''banana']# 扩展列表fruits.extend(['orange''grape'])print(fruits)  # 输出: ['apple''banana''orange''grape']# 可以扩展任何可迭代对象fruits.extend('hi')print(fruits)  # 输出: ['apple''banana''orange''grape''h''i']# 对比 append() 和 extend()list1 = [12]list1.append([34])print(list1)  # [12, [34]]list2 = [12]list2.extend([34])print(list2)  # [1234]# 等价于 += 运算符list3 = [12]list3 += [34]print(list3)  # [1234]

时间复杂度:O(k),k为添加元素的个数

3️⃣ insert() - 指定位置插入

fruits = ['apple''banana''orange']# 在索引1的位置插入fruits.insert(1'grape')print(fruits)  # 输出: ['apple''grape''banana''orange']# 在开头插入fruits.insert(0'mango')print(fruits)  # 输出: ['mango''apple''grape''banana''orange']# 在末尾插入(索引超出范围)fruits.insert(100'kiwi')print(fruits)  # 输出: ['mango''apple''grape''banana''orange''kiwi']# 负数索引fruits.insert(-1'pear')  # 插入到倒数第一个元素之前print(fruits)  # 输出: ['mango''apple''grape''banana''orange''pear''kiwi']

时间复杂度:O(n) - 需要移动后续元素

4️⃣ remove() - 删除指定值(第一个)

fruits = ['apple''banana''orange''banana''grape']# 删除第一个匹配的元素fruits.remove('banana')print(fruits)  # 输出: ['apple', 'orange', 'banana', 'grape']# 再次删除fruits.remove('banana')print(fruits)  # 输出: ['apple', 'orange', 'grape']# ❌ 删除不存在的元素会报错try:    fruits.remove('kiwi')except ValueError as e:    print(f"错误: {e}")# 输出: 错误: list.remove(x): x not in list# ✅ 安全删除if 'kiwi' in fruits:    fruits.remove('kiwi')else:    print("元素不存在")

时间复杂度:O(n) - 需要查找元素

5️⃣ pop() - 删除并返回指定位置元素

fruits = ['apple''banana''orange''grape']# 删除最后一个元素(默认)last = fruits.pop()print(last)    # grapeprint(fruits)  # ['apple', 'banana', 'orange']# 删除指定位置first = fruits.pop(0)print(first)   # appleprint(fruits)  # ['banana', 'orange']# 删除倒数第二个second_last = fruits.pop(-2)print(second_last)  # bananaprint(fruits)       # ['orange']# ❌ 空列表pop会报错empty = []try:    empty.pop()except IndexError as e:    print(f"错误: {e}")# 输出: 错误: pop from empty list

时间复杂度

  • pop()删除末尾:O(1)
  • pop(0)删除开头:O(n)

6️⃣ clear() - 清空列表

fruits = ['apple''banana''orange']# 清空列表fruits.clear()print(fruits)  # 输出: []# 等价于fruits = ['apple''banana''orange']fruits = []  # 创建新列表# 或fruits[:] = []  # 清空原列表

7️⃣ index() - 查找元素索引

fruits = ['apple''banana''orange''banana''grape']# 查找元素第一次出现的索引idx = fruits.index('banana')print(idx)  # 输出: 1# 指定查找范围 [start, end)idx = fruits.index('banana'2)  # 从索引2开始查找print(idx)  # 输出: 3idx = fruits.index('banana'24)  # 在索引2-4之间查找print(idx)  # 输出: 3# ❌ 元素不存在会报错try:    fruits.index('kiwi')except ValueError as e:    print(f"错误: {e}")# 输出: 错误: 'kiwi' is not in list# ✅ 安全查找if 'kiwi' in fruits:    idx = fruits.index('kiwi')else:    idx = -1    print("元素不存在")

8️⃣ count() - 统计元素出现次数

numbers = [1, 2, 3, 2, 4, 2, 5, 2]# 统计元素出现次数count = numbers.count(2)print(count)  # 输出: 4count = numbers.count(10)print(count)  # 输出: 0 (不存在返回0,不会报错)# 统计列表中的列表nested = [[1, 2], [3, 4], [1, 2], [5, 6]]count = nested.count([12])print(count)  # 输出: 2

9️⃣ sort() - 原地排序

numbers = [31415926]# 升序排序(默认)numbers.sort()print(numbers)  # 输出: [11234569]# 降序排序numbers.sort(reverse=True)print(numbers)  # 输出: [96543211]# 字符串排序fruits = ['banana''apple''orange''grape']fruits.sort()print(fruits)  # 输出: ['apple''banana''grape''orange']# 按长度排序(使用key参数)fruits.sort(key=len)print(fruits)  # 输出: ['apple''grape''banana''orange']# 按自定义规则排序students = [    {'name''Alice''age'25},    {'name''Bob''age'20},    {'name''Charlie''age'23}]students.sort(key=lambda x: x['age'])print(students)# 输出: [{'name''Bob''age'20}, {'name''Charlie''age'23}, {'name''Alice''age'25}]# ⚠️ 注意:sort()修改原列表,返回Noneresult = numbers.sort()print(result)  # 输出: None

对比 sort() 和 sorted()

numbers = [31415]# sort() - 原地排序,修改原列表numbers.sort()print(numbers)  # [1, 1, 3, 4, 5]# sorted() - 返回新列表,不修改原列表numbers = [31415]sorted_numbers = sorted(numbers)print(numbers)         # [3, 1, 4, 1, 5] (未改变)print(sorted_numbers)  # [1, 1, 3, 4, 5]

🔟 reverse() - 反转列表

numbers = [12345]# 反转列表numbers.reverse()print(numbers)  # 输出: [5, 4, 3, 2, 1]# ⚠️ 注意:reverse()修改原列表,返回Noneresult = numbers.reverse()print(result)  # 输出: None# 对比 reverse() 和 [::-1]numbers = [12345]# reverse() - 原地反转numbers.reverse()print(numbers)  # [5, 4, 3, 2, 1]# [::-1] - 返回新列表numbers = [12345]reversed_numbers = numbers[::-1]print(numbers)           # [1, 2, 3, 4, 5] (未改变)print(reversed_numbers)  # [5, 4, 3, 2, 1]

1️⃣1️⃣ copy() - 浅拷贝列表

# 方式1:使用copy()方法original = [1, 2, 3]copied = original.copy()copied[0] = 999print(original)  # [1, 2, 3] (未改变)print(copied)    # [999, 2, 3]# 方式2:使用切片copied2 = original[:]# 方式3:使用list()构造函数copied3 = list(original)# ⚠️ 浅拷贝的陷阱(嵌套列表)original = [[1, 2], [3, 4]]copied = original.copy()copied[0][0] = 999print(original)  # [[999, 2], [3, 4]] (被修改了!)print(copied)    # [[999, 2], [3, 4]]# ✅ 深拷贝(完全独立)import copyoriginal = [[1, 2], [3, 4]]deep_copied = copy.deepcopy(original)deep_copied[0][0] = 999print(original)     # [[1, 2], [3, 4]] (未改变)print(deep_copied)  # [[999, 2], [3, 4]]

五、列表的高级操作

1. 列表运算符

# + 连接列表list1 = [1, 2, 3]list2 = [4, 5, 6]result = list1 + list2print(result)  # 输出: [1, 2, 3, 4, 5, 6]# * 重复列表list3 = [1, 2] * 3print(list3)  # 输出: [1, 2, 1, 2, 1, 2]# in 成员检测print(2 in [1, 2, 3])  # Trueprint(5 in [1, 2, 3])  # False# not inprint(5 not in [1, 2, 3])  # True# 比较运算符(按字典序)print([1, 2, 3] < [1, 2, 4])  # Trueprint([1, 2, 3] == [1, 2, 3])  # True

2. 列表解包

# 基本解包a, b, c = [123]print(a, b, c)  # 输出: 1 2 3# 使用 * 收集剩余元素first, *rest = [12345]print(first)  # 1print(rest)   # [2, 3, 4, 5]*start, last = [12345]print(start)  # [1, 2, 3, 4]print(last)   # 5first, *middle, last = [12345]print(first)   # 1print(middle)  # [2, 3, 4]print(last)    # 5# 交换变量a, b = 12a, b = b, aprint(a, b)  # 2 1

3. 列表的内置函数

numbers = [31415926]# len() - 长度print(len(numbers))  # 8# max() - 最大值print(max(numbers))  # 9# min() - 最小值print(min(numbers))  # 1# sum() - 求和print(sum(numbers))  # 31# all() - 所有元素为Trueprint(all([TrueTrueTrue]))   # Trueprint(all([TrueFalseTrue]))  # Falseprint(all([123]))            # Trueprint(all([103]))            # False# any() - 任一元素为Trueprint(any([FalseFalseTrue]))  # Trueprint(any([FalseFalseFalse])) # Falseprint(any([001]))             # True# enumerate() - 枚举(索引和值)fruits = ['apple''banana''orange']for idx, fruit in enumerate(fruits):    print(f"{idx}{fruit}")# 输出:# 0: apple# 1: banana# 2: orange# 指定起始索引for idx, fruit in enumerate(fruits, start=1):    print(f"{idx}{fruit}")# 输出:# 1: apple# 2: banana# 3: orange# zip() - 并行迭代names = ['Alice''Bob''Charlie']ages = [253035]for name, age in zip(names, ages):    print(f"{name}{age}")# 输出:# Alice: 25# Bob: 30# Charlie: 35# map() - 映射numbers = [12345]squared = list(map(lambda x: x**2, numbers))print(squared)  # 输出: [1, 4, 9, 16, 25]# filter() - 过滤evens = list(filter(lambda x: x % 2 == 0, numbers))print(evens)  # 输出: [2, 4]

六、列表推导式(List Comprehension)

基础语法

# 基本形式[expression for item in iterable]# 带条件[expression for item in iterable if condition]# 多重循环[expression for item1 in iterable1 for item2 in iterable2]

实战示例

# 1. 生成平方数squares = [x**2 for x in range(16)]print(squares)  # 输出: [1, 4, 9, 16, 25]# 2. 过滤偶数numbers = [12345678910]evens = [x for x in numbers if x % 2 == 0]print(evens)  # 输出: [2, 4, 6, 8, 10]# 3. 字符串处理words = ['hello''world''python']upper_words = [word.upper() for word in words]print(upper_words)  # 输出: ['HELLO', 'WORLD', 'PYTHON']# 4. 条件表达式numbers = [12345]result = ['even' if x % 2 == 0 else 'odd' for x in numbers]print(result)  # 输出: ['odd', 'even', 'odd', 'even', 'odd']# 5. 嵌套列表展平nested = [[123], [456], [789]]flat = [num for sublist in nested for num in sublist]print(flat)  # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]# 6. 生成坐标点points = [(x, y) for x in range(3for y in range(3)]print(points)  # 输出: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]# 7. 字典转列表data = {'a'1'b'2'c'3}pairs = [(k, v) for k, v in data.items()]print(pairs)  # 输出: [('a', 1), ('b', 2), ('c', 3)]# 8. 多条件过滤numbers = range(121)result = [x for x in numbers if x % 2 == 0 if x % 3 == 0]print(result)  # 输出: [6, 12, 18]# 9. 嵌套推导式(生成矩阵)matrix = [[i*j for j in range(14)] for i in range(14)]print(matrix)  # 输出: [[1, 2, 3], [2, 4, 6], [3, 6, 9]]

七、实战案例

案例1:数据清洗

# 原始数据(包含空值、重复值)raw_data = [12None32''45None3]# 清洗:去除None和空字符串,去重cleaned = list(set([x for x in raw_data if x not in (None'')]))print(cleaned)  # 输出: [1, 2, 3, 4, 5]# 保持顺序的去重def remove_duplicates(lst):    seen = set()    result = []    for item in lst:        if item not in seen and item not in (None''):            seen.add(item)            result.append(item)    return resultcleaned_ordered = remove_duplicates(raw_data)print(cleaned_ordered)  # 输出: [1, 2, 3, 4, 5]

案例2:分组统计

# 学生成绩数据scores = [85927890887695898491]# 按等级分组def grade_level(score):    if score >= 90:        return 'A'    elif score >= 80:        return 'B'    elif score >= 70:        return 'C'    else:        return 'D'grades = {}for score in scores:    level = grade_level(score)    grades.setdefault(level, []).append(score)print(grades)# 输出: {'B': [85, 88, 89, 84], 'A': [92, 90, 95, 91], 'C': [78, 76]}# 统计各等级人数grade_counts = {k: len(v) for k, v in grades.items()}print(grade_counts)# 输出: {'B': 4, 'A': 4, 'C': 2}

案例3:数据转换

# CSV数据转字典列表csv_data = [    ['Name''Age''City'],    ['Alice''25''Beijing'],    ['Bob''30''Shanghai'],    ['Charlie''35''Guangzhou']]# 转换为字典列表headers = csv_data[0]data = [dict(zip(headers, row)) for row in csv_data[1:]]print(data)# 输出: [#   {'Name''Alice''Age''25''City''Beijing'},#   {'Name''Bob''Age''30''City''Shanghai'},#   {'Name''Charlie''Age''35''City''Guangzhou'}# ]

案例4:滑动窗口

# 计算移动平均def moving_average(data, window_size):    result = []    for i in range(len(data) - window_size + 1):        window = data[i:i + window_size]        avg = sum(window) / window_size        result.append(avg)    return resultprices = [1012131114151316]ma3 = moving_average(prices, 3)print(ma3)# 输出: [11.666..., 12.0, 12.666..., 13.333..., 14.0, 14.666...]# 使用列表推导式ma3_compact = [sum(prices[i:i+3])/3 for i in range(len(prices)-2)]print(ma3_compact)

案例5:矩阵操作

# 矩阵转置matrix = [    [123],    [456],    [789]]# 方法1:使用ziptransposed = [list(row) for row in zip(*matrix)]print(transposed)# 输出: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]# 方法2:使用推导式transposed2 = [[matrix[j][i] for j in range(len(matrix))]                for i in range(len(matrix[0]))]print(transposed2)# 输出: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]# 矩阵相加matrix1 = [[12], [34]]matrix2 = [[56], [78]]result = [[matrix1[i][j] + matrix2[i][j]            for j in range(len(matrix1[0]))]           for i in range(len(matrix1))]print(result)# 输出: [[6, 8], [10, 12]]

八、性能优化技巧

1. 选择合适的方法

# ❌ 低效:频繁使用insert(0)def slow_prepend(n):    result = []    for i in range(n):        result.insert(0, i)  # O(n) 每次都要移动所有元素    return result# ✅ 高效:使用append后reversedef fast_prepend(n):    result = []    for i in range(n):        result.append(i)  # O(1)    result.reverse()      # O(n) 只执行一次    return result

2. 列表推导式 vs 循环

# ❌ 使用循环result = []for i in range(1000):    result.append(i**2)# ✅ 使用列表推导式(更快)result = [i**2 for i in range(1000)]# ✅ 使用生成器(节省内存)result = (i**2 for i in range(1000))  # 惰性求值

3. 避免不必要的复制

# ❌ 创建不必要的副本def process_list_bad(lst):    new_list = lst[:]  # 复制整个列表    new_list.append(1)    return new_list# ✅ 直接修改(如果允许)def process_list_good(lst):    lst.append(1)    return lst

4. 使用集合去重(更快)

# ❌ 使用列表去重(慢)def remove_duplicates_slow(lst):    result = []    for item in lst:        if item not in result:  # O(n) 查找            result.append(item)    return result# ✅ 使用集合去重(快)def remove_duplicates_fast(lst):    return list(set(lst))  # O(1) 查找# ✅ 保持顺序的快速去重def remove_duplicates_ordered(lst):    seen = set()    result = []    for item in lst:        if item not in seen:  # O(1) 查找            seen.add(item)            result.append(item)    return result

九、常见陷阱与避坑指南

陷阱1:可变默认参数

# ❌ 错误:使用可变对象作为默认参数def add_item_bad(item, lst=[]):    lst.append(item)    return lstprint(add_item_bad(1))  # [1]print(add_item_bad(2))  # [1, 2] ⚠️ 不是 [2]!print(add_item_bad(3))  # [1, 2, 3] ⚠️ 不是 [3]!# ✅ 正确:使用None作为默认参数def add_item_good(item, lst=None):    if lst is None:        lst = []    lst.append(item)    return lstprint(add_item_good(1))  # [1]print(add_item_good(2))  # [2] ✅print(add_item_good(3))  # [3] ✅

陷阱2:循环中修改列表

# ❌ 错误:边遍历边删除numbers = [1, 2, 3, 4, 5]for num in numbers:    if num % 2 == 0:        numbers.remove(num)print(numbers)  # [1, 3, 5] ⚠️ 可能漏删# ✅ 正确方法1:倒序遍历numbers = [1, 2, 3, 4, 5]for i in range(len(numbers)-1, -1, -1):    if numbers[i] % 2 == 0:        numbers.pop(i)print(numbers)  # [1, 3, 5]# ✅ 正确方法2:创建新列表numbers = [1, 2, 3, 4, 5]numbers = [num for num in numbers if num % 2 != 0]print(numbers)  # [1, 3, 5]

陷阱3:浅拷贝问题

# ❌ 错误:浅拷贝嵌套列表original = [[1, 2], [3, 4]]copied = original.copy()copied[0][0] = 999print(original)  # [[999, 2], [3, 4]] ⚠️ 原列表被修改了!# ✅ 正确:深拷贝import copyoriginal = [[1, 2], [3, 4]]copied = copy.deepcopy(original)copied[0][0] = 999print(original)  # [[1, 2], [3, 4]] ✅print(copied)    # [[999, 2], [3, 4]]

陷阱4:列表乘法的陷阱

# ❌ 错误:嵌套列表使用乘法matrix = [[0] * 3] * 3matrix[0][0] = 1print(matrix)  # [[1, 0, 0], [1, 0, 0], [1, 0, 0]] ⚠️ 所有行都被修改了!# ✅ 正确:使用列表推导式matrix = [[0] * 3 for _ in range(3)]matrix[0][0] = 1print(matrix)  # [[1, 0, 0], [0, 0, 0], [0, 0, 0]] ✅

陷阱5:列表比较

# 列表比较是按字典序print([123] < [124])  # Trueprint([123] < [13])     # Trueprint([2] > [1999])     # True ⚠️# 比较列表内容是否相同list1 = [123]list2 = [123]print(list1 == list2)  # True (值相同)print(list1 is list2)  # False (不是同一个对象)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 15:35:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/473021.html
  2. 运行时间 : 0.288531s [ 吞吐率:3.47req/s ] 内存消耗:4,494.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6742d69beae44f3c344c56bc0c681e72
  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.000619s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000858s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.015294s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.022919s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001072s ]
  6. SELECT * FROM `set` [ RunTime:0.028136s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000974s ]
  8. SELECT * FROM `article` WHERE `id` = 473021 LIMIT 1 [ RunTime:0.079067s ]
  9. UPDATE `article` SET `lasttime` = 1770449710 WHERE `id` = 473021 [ RunTime:0.038086s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001697s ]
  11. SELECT * FROM `article` WHERE `id` < 473021 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004542s ]
  12. SELECT * FROM `article` WHERE `id` > 473021 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.010262s ]
  13. SELECT * FROM `article` WHERE `id` < 473021 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005246s ]
  14. SELECT * FROM `article` WHERE `id` < 473021 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006926s ]
  15. SELECT * FROM `article` WHERE `id` < 473021 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007209s ]
0.290322s