当前位置:首页>python>Python 零基础 100 天 — Day11 集合

Python 零基础 100 天 — Day11 集合

  • 2026-07-02 16:50:36
Python 零基础 100 天 — Day11 集合

🐍 集合 — 去重大师与数学运算

🕐 预计用时:2-3 小时 | 🎯 目标:掌握集合的创建、运算、去重技巧和 frozenset


📖 今日目录

  1. 什么是集合?
  2. 创建集合
  3. 集合的基本操作
  4. 集合的数学运算
  5. 集合的方法大全
  6. 集合推导式
  7. frozenset — 不可变集合
  8. 实战项目
  9. 今日小结

1. 什么是集合?

集合(Set)是 Python 中的"去重大师"——它自动去除重复元素,且内部元素无序。

想象一个班级花名册:不管你念多少遍"张三、李四、张三",花名册上永远只有"张三、李四"——这就是集合。

特性
列表 list
元组 tuple
字典 dict
集合 set
符号
[](){}{}
有序
❌(3.7+ 插入序)
可变
重复元素
✅ 允许
✅ 允许
键不重复
❌ 自动去重
索引访问
用键
❌ 不支持
# 列表可以有重复fruits_list = ["苹果", "香蕉", "苹果", "橘子", "苹果"]print(len(fruits_list))  # 5(5个元素)# 集合自动去重fruits_set = {"苹果", "香蕉", "苹果", "橘子", "苹果"}print(fruits_set)         # {'苹果', '香蕉', '橘子'}(只剩3个)print(len(fruits_set))    # 3

💡 集合的核心价值:去重 + 集合运算。当你需要"去除重复"或做"交集、并集、差集"时,集合是最佳选择。


2. 创建集合

📖 用花括号 {} 创建

# 直接创建colors = {"红", "绿", "蓝", "红"}  # "红"会自动去重print(colors)  # {'红', '绿', '蓝'}(顺序不确定)# 创建空集合 ⚠️ 注意!empty = {}        # ❌ 这是字典,不是集合!empty = set()     # ✅ 空集合只能用 set()print(type({}))   # <class 'dict'>print(type(set()))# <class 'set'>

⚠️ 面试经典坑:{} 是空字典,不是空集合!空集合必须用 set() 创建。这是 Python 的历史包袱,记住就好。

🏭 用 set() 从其他类型转换

# 从列表创建(自动去重)nums = [1, 2, 3, 2, 1, 4, 5, 4]unique_nums = set(nums)print(unique_nums)  # {1, 2, 3, 4, 5}# 从字符串创建(每个字符变成一个元素)letters = set("hello")print(letters)  # {'h', 'e', 'l', 'o'}(去掉了重复的 'l')# 从元组创建coords = set([(1, 2), (3, 4), (1, 2)])print(coords)  # {(1, 2), (3, 4)}

⚠️ 集合元素的要求

# ✅ 可以放入集合的:不可变类型valid = {1, "hello", (1, 2), True, 3.14}# ❌ 不能放入集合的:可变类型# invalid = {[1, 2], {"a": 1}}  # TypeError: unhashable type

💡 为什么要求不可变?集合内部用哈希表实现,元素放入后位置由哈希值决定。如果元素可变(如列表),哈希值会变,集合就乱套了。所以只有"可哈希"的类型才能放进集合。


3. 集合的基本操作

➕ 添加元素

s = {1, 2, 3}# add() — 添加单个元素s.add(4)print(s)  # {1, 2, 3, 4}s.add(2)  # 添加已存在的元素,无效果print(s)  # {1, 2, 3, 4}(没有变化)# update() — 批量添加(可以传列表、元组、集合)s.update([5, 6], {7, 8})print(s)  # {1, 2, 3, 4, 5, 6, 7, 8}

➖ 删除元素

s = {"苹果", "香蕉", "橘子", "葡萄"}# remove() — 删除指定元素,不存在会报 KeyErrors.remove("香蕉")print(s)  # {'苹果', '橘子', '葡萄'}# s.remove("西瓜")  # ❌ KeyError: '西瓜'# discard() — 删除指定元素,不存在也不报错(推荐!)s.discard("西瓜")   # ✅ 不报错,什么也没发生s.discard("苹果")print(s)  # {'橘子', '葡萄'}# pop() — 随机删除一个元素并返回s = {10, 20, 30, 40}elem = s.pop()print(elem)  # 某个元素(不确定是哪个)print(s)     # 剩下3个# clear() — 清空集合s.clear()print(s)  # set()

💡 remove vs discard 怎么选?确定元素存在 → remove()(更快)不确定是否存在 → discard()(更安全)实际开发中 discard() 用得更多,因为不用先判断。

🔍 判断与长度

s = {1, 2, 3, 4, 5}print(len(s))     # 5 — 元素个数print(3 in s)     # True — 存在print(6 not in s) # True — 不存在

4. 集合的数学运算

这是集合最强大的部分——交集、并集、差集、对称差集。

假设有两个班级的选课名单:

math_class = {"张三", "李四", "王五", "赵六"}     # 数学课english_class = {"李四", "王五", "孙七", "周八"}   # 英语课

🤝 交集(Intersection)— 两人都选的课

# 运算符:&both = math_class & english_classprint(both)  # {'李四', '王五'}(两门课都选的人)# 方法形式both = math_class.intersection(english_class)print(both)  # {'李四', '王五'}

🤝 并集(Union)— 所有选课的人

# 运算符:|all_students = math_class | english_classprint(all_students)  # {'张三', '李四', '王五', '赵六', '孙七', '周八'}# 方法形式all_students = math_class.union(english_class)print(all_students)

➖ 差集(Difference)— 只选了数学没选英语的人

# 运算符:-only_math = math_class - english_classprint(only_math)  # {'张三', '赵六'}only_english = english_class - math_classprint(only_english)  # {'孙七', '周八'}

💡 差集是有方向的!A - B ≠ B - AA - B 是"A中有但B中没有的",B - A 是"B中有但A中没有的"。

🔄 对称差集(Symmetric Difference)— 只选了一门课的人

# 运算符:^only_one = math_class ^ english_classprint(only_one)  # {'张三', '赵六', '孙七', '周八'}# 等价于 (A - B) | (B - A)only_one = (math_class - english_class) | (english_class - math_class)print(only_one)  # {'张三', '赵六', '孙七', '周八'}

📐 完整图解

运算
运算符
方法
含义
交集
A & BA.intersection(B)
A 和 B 共有的
并集
A | BA.union(B)
A 和 B 所有的
差集
A - BA.difference(B)
A 有但 B 没有的
对称差集
A ^ BA.symmetric_difference(B)
只在一方有的

5. 集合的方法大全

📋 判断方法

A = {1, 2, 3, 4, 5}B = {1, 2, 3}C = {6, 7}# issubset() — 是否是子集print(B.issubset(A))       # True(B 是 A 的子集)print(B <= A)              # True(同上,运算符形式)print(B < A)               # True(真子集,B ≠ A)# issuperset() — 是否是超集print(A.issuperset(B))     # True(A 包含 B)print(A >= B)              # True# isdisjoint() — 是否没有交集print(A.isdisjoint(C))     # True(A 和 C 没有共同元素)print(B.isdisjoint(C))     # True
方法
含义
运算符
A.issubset(B)
A 是 B 的子集
A <= B
A.issuperset(B)
A 是 B 的超集
A >= B
A.isdisjoint(B)
A 和 B 无交集

🔄 原地更新方法

s = {1, 2, 3}# intersection_update() — 原地取交集s.intersection_update({2, 3, 4})print(s)  # {2, 3}# difference_update() — 原地取差集s = {1, 2, 3, 4}s.difference_update({3, 4, 5})print(s)  # {1, 2}# symmetric_difference_update() — 原地取对称差集s = {1, 2, 3}s.symmetric_difference_update({3, 4, 5})print(s)  # {1, 2, 4, 5}

💡 有 vs 没有 update 的区别:A.union(B) → 返回新集合,A 不变A.update(B) → 直接修改 A,不返回记住:update 结尾 = 原地修改 = 更高效。


6. 集合推导式

和列表推导式语法几乎一样,只是把 [] 换成 {}。

# 基本形式nums = [1, 4, 9, 16, 25]roots = {int(n ** 0.5) for n in nums}print(roots)  # {1, 2, 3, 4, 5}(自动去重)# 带条件evens = {n for n in range(20) if n % 2 == 0}print(evens)  # {0, 2, 4, 6, 8, 10, 12, 14, 16, 18}# 实用场景:提取字符串中不重复的字符text = "hello world"unique_chars = {c for c in text if c != ' '}print(unique_chars)  # {'h', 'e', 'l', 'o', 'w', 'r', 'd'}# 从字典中提取不重复的值scores = {"张三": 90, "李四": 85, "王五": 90, "赵六": 85}unique_scores = {v for v in scores.values()}print(unique_scores)  # {85, 90}

7. frozenset — 不可变集合

frozenset 是集合的"只读版本"——创建后不能增删改。

# 创建 frozensetfs = frozenset([1, 2, 3, 4])print(fs)        # frozenset({1, 2, 3, 4})print(type(fs))  # <class 'frozenset'># 不能修改# fs.add(5)      # ❌ AttributeError# fs.remove(1)   # ❌ AttributeError# 但可以做集合运算(返回新的 frozenset)fs2 = frozenset([3, 4, 5, 6])print(fs & fs2)   # frozenset({3, 4})(交集)print(fs | fs2)   # frozenset({1, 2, 3, 4, 5, 6})(并集)# frozenset 可以作为字典的键或集合的元素d = {frozenset([1, 2]): "pair A"}print(d[frozenset([1, 2])])  # "pair A"# 嵌套集合(普通 set 不行,因为 set 是可变的)nested = {frozenset([1, 2]), frozenset([3, 4])}print(nested)  # {frozenset({1, 2}), frozenset({3, 4})}

💡 什么时候用 frozenset?1. 需要把集合作为字典的键或另一个集合的元素时2. 需要保证数据不被意外修改时3. 多线程环境下需要不可变的集合数据时日常开发中用得不多,但面试和特定场景会遇到。


8. 实战项目

🎯 项目 1:投票去重统计器

某班级投票选班长,每个同学可以投多票,但同一人不能重复投票。统计有效票数。

def count_votes(votes):    """统计投票结果,自动去重"""    results = {}    for voter, candidate in votes:        # 每个投票人对每个候选人只能投一票        if voter not in results:            results[voter] = set()        results[voter].add(candidate)    return results# 模拟投票数据(投票人, 候选人)votes = [    ("张三", "李四"), ("张三", "王五"), ("张三", "李四"),  # 张三投了两次李四    ("李四", "王五"), ("李四", "赵六"),    ("王五", "李四"), ("王五", "王五"),                     # 王五投了自己    ("赵六", "李四"), ("赵六", "李四"),                     # 赵六重复投李四    ("孙七", "王五"),]results = count_votes(votes)print("📊 投票结果统计:")print("-" * 40)for voter, candidates in results.items():    print(f"  {voter} 投了: {', '.join(candidates)}({len(candidates)}票)")# 统计每个候选人的总票数all_candidates = set()for candidates in results.values():    all_candidates.update(candidates)print(f"\n🏆 候选人得票统计:")for candidate in sorted(all_candidates):    count = sum(1 for cands in results.values() if candidate in cands)    print(f"  {candidate}: {count} 票")

🎯 项目 2:共同好友查找器

社交网络中,查找两个人的共同好友、独有好友、所有好友。

def analyze_friends(person_a, friends_a, person_b, friends_b):    """分析两个人的好友关系"""    set_a = set(friends_a)    set_b = set(friends_b)    common = set_a & set_b           # 共同好友    only_a = set_a - set_b           # 只有A有的好友    only_b = set_b - set_a           # 只有B有的好友    all_friends = set_a | set_b      # 所有好友    mutual_only = set_a ^ set_b      # 非共同好友    print(f"👥 {person_a} vs {person_b} 好友分析")    print("=" * 50)    print(f"  {person_a} 好友数: {len(set_a)}")    print(f"  {person_b} 好友数: {len(set_b)}")    print(f"  共同好友: {len(common)} 人 → {common or '无'}")    print(f"  {person_a} 独有: {len(only_a)} 人 → {only_a or '无'}")    print(f"  {person_b} 独有: {len(only_b)} 人 → {only_b or '无'}")    print(f"  所有好友: {len(all_friends)} 人")    # 相似度(Jaccard 系数)    if all_friends:        similarity = len(common) / len(all_friends) * 100        print(f"  相似度: {similarity:.1f}%")    return {        "common": common,        "only_a": only_a,        "only_b": only_b,        "all": all_friends    }# 好友数据alice_friends = ["Bob", "Charlie", "David", "Eve", "Frank"]bob_friends = ["Alice", "Charlie", "Grace", "Eve", "Henry"]result = analyze_friends("Alice", alice_friends, "Bob", bob_friends)

🎯 项目 3:标签分析器

分析文章标签的相似度,找出热门标签和独特标签。

def analyze_tags(articles):    """分析文章标签"""    # 每篇文章的标签集合    article_tags = {name: set(tags) for name, tags in articles.items()}    # 所有出现过的标签    all_tags = set()    for tags in article_tags.values():        all_tags.update(tags)    # 统计每个标签出现次数    tag_count = {}    for tag in all_tags:        tag_count[tag] = sum(1 for tags in article_tags.values() if tag in tags)    # 找热门标签(出现在 >= 2 篇文章中)    hot_tags = {tag for tag, count in tag_count.items() if count >= 2}    # 找每篇文章的独特标签    unique_tags = {}    for name, tags in article_tags.items():        others = set()        for other_name, other_tags in article_tags.items():            if other_name != name:                others.update(other_tags)        unique_tags[name] = tags - others    print("🏷️ 标签分析报告")    print("=" * 50)    print(f"\n📊 标签统计(共 {len(all_tags)} 个标签):")    for tag, count in sorted(tag_count.items(), key=lambda x: -x[1]):        bar = "█" * count        print(f"  {tag:12s} | {bar} ({count}篇)")    print(f"\n🔥 热门标签: {hot_tags or '无'}")    print(f"\n✨ 各文章独特标签:")    for name, tags in unique_tags.items():        print(f"  {name}: {tags or '无'}")    # 计算文章间标签相似度    print(f"\n🔗 文章相似度矩阵:")    names = list(article_tags.keys())    for i, name_a in enumerate(names):        for name_b in names[i+1:]:            tags_a = article_tags[name_a]            tags_b = article_tags[name_b]            common = tags_a & tags_b            union = tags_a | tags_b            sim = len(common) / len(union) * 100 if union else 0            print(f"  {name_a} ↔ {name_b}: {sim:.0f}%(共同: {common or '无'})")# 测试数据articles = {    "Python入门": ["python", "编程", "入门", "教程"],    "Python进阶": ["python", "编程", "进阶", "装饰器"],    "Web开发": ["python", "web", "flask", "编程"],    "数据分析": ["python", "pandas", "数据", "分析"],    "机器学习": ["机器学习", "sklearn", "数据", "模型"],}analyze_tags(articles)

9. 今日小结

知识点
核心内容
集合特性
无序、自动去重、元素必须可哈希
创建
{}
(非空)、set()(空集合)、set(iterable)
增删
add()
 / update() / remove() / discard() / pop()
集合运算
&
交集、|并集、-差集、^对称差集
判断
issubset()
 / issuperset() / isdisjoint()
推导式
{x for x in ...}
frozenset
不可变集合,可做字典键

🧠 记忆口诀:交并差对称,四运算搞定。去重用 set,不可变 frozenset。花括号创建,空集要 set()。discard 比 remove,安全不报错。

🔮 预告: Day 12 是综合练习日!我们将用列表、元组、字典、集合四大金刚,完成猜数字游戏和简易计算器。学了这么多,是时候大展身手了!

轻松时刻:

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 16:06:41 HTTP/2.0 GET : https://f.mffb.com.cn/a/494927.html
  2. 运行时间 : 0.311426s [ 吞吐率:3.21req/s ] 内存消耗:4,603.62kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2b17291646c98329184af5c0ff61de5a
  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.000472s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000528s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000230s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000331s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000491s ]
  6. SELECT * FROM `set` [ RunTime:0.000193s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000529s ]
  8. SELECT * FROM `article` WHERE `id` = 494927 LIMIT 1 [ RunTime:0.022391s ]
  9. UPDATE `article` SET `lasttime` = 1783066001 WHERE `id` = 494927 [ RunTime:0.000781s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000237s ]
  11. SELECT * FROM `article` WHERE `id` < 494927 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002393s ]
  12. SELECT * FROM `article` WHERE `id` > 494927 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005960s ]
  13. SELECT * FROM `article` WHERE `id` < 494927 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.055011s ]
  14. SELECT * FROM `article` WHERE `id` < 494927 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.048436s ]
  15. SELECT * FROM `article` WHERE `id` < 494927 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.104627s ]
0.313272s