1,Hello各位读者朋友们大家好!今天我们来深入探讨Python中一个非常强大但又常被忽视的数据结构——集合(Set)。无论你是Python新手还是有一定经验的开发者,相信这篇文章都能让你对集合有全新的认识! 集合是Python中的一种无序、不重复的数据结构,用大括号 {} 表示(注意:空集合要用 set() 创建)。
#创建集合fruits = {'apple', 'banana', 'orange', 'apple'} # 重复的'apple'会被自动去除print("集合:", fruits) # 输出: 集合: {'banana', 'orange', 'apple'}#空集合empty_set = set()print (type(empty_set)) # 输出: <class 'set'>print("空集合:", empty_set) # 输出: 空集合: set()
自动去重-最实用的功能
#自动去重-最实用的功能numbers = [1, 2, 2, 3, 4, 4, 5]unique_numbers = set(numbers)print("原列表:", numbers) # 输出: 原列表: [1, 2, 2, 3, 4, 4, 5]print("去重后集合:", unique_numbers) # 输出: 去重后集合: {1, 2, 3, 4, 5}
#集合操作set_a = {1, 2, 3, 4}set_b = {3, 4, 5, 6}# 并集union_set = set_a | set_bprint("并集:", union_set) # 输出: 并集: {1, 2, 3, 4, 5, 6}# 交集intersection_set = set_a & set_bprint("交集:", intersection_set) # 输出: 交集: {3, 4}# 差集difference_set = set_a - set_bprint("差集:", difference_set) # 输出: 差集: {1, 2}
#集合方法my_set = {1, 2, 3}# 添加元素my_set.add(4)print("添加元素后:", my_set) # 输出: 添加元素后: {1, 2, 3, 4}my_set.update([4, 5])print("更新元素后:", my_set) # 输出: 更新元素后: {1, 2, 3, 4, 5}# 移除元素my_set.remove(2)print("移除元素后:", my_set) # 输出: 移除元素后: {1, 3, 4, 5}my_set.discard(10) # 不会报错print("使用discard移除不存在的元素后:", my_set) # 输出: 使用discard移除不存在的元素后: {1, 3, 4, 5}popped_element = my_set.pop()print("弹出元素:", popped_element) # 输出: 弹出元素: 1print("弹出元素后集合:", my_set) # 输出: 弹出元素后集合: {3, 4, 5}# 清空集合my_set.clear()print("清空集合后:", my_set) # 输出: 清空集合后: set()#拷贝集合set_original = {1, 2, 3}set_copy = set_original.copy()print("原集合:", set_original) # 输出: 原集合: {1, 2, 3}print("拷贝集合:", set_copy) # 输出: 拷贝集合: {1, 2, 3}
#集合推导式squared_set = {x**2 for x in range(5)}print("平方集合:", squared_set) # 输出: 平方集合: {0, 1, 4, 9, 16}#过滤偶数even_set = {x for x in range(10) if x % 2 == 0}print("偶数集合:", even_set) # 输出: 偶数集合: {0, 2, 4, 6, 8}
#实战1 数据清洗-快速去重user_tags = ['python', '编程', 'AI', 'python', '机器学习', 'AI']unique_tags = set(user_tags)print(f"去重后标签: {unique_tags}")
#实战2 集合运算-权限管理admin_permissions = {'read', 'write', 'delete'}user_permissions = {'read', 'write'}common_permissions = admin_permissions & user_permissionsprint(f"共同权限: {common_permissions}")all_permissions = admin_permissions | user_permissionsprint(f"所有权限: {all_permissions}")exclusive_permissions = admin_permissions - user_permissionsprint(f"管理员独有权限: {exclusive_permissions}")
#实战3 投票系统-统计独特投票者votes = ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob', 'David']unique_voters = set(votes)print(f"独特投票者数量: {len(unique_voters)}") # 输出: 独特投票者数量: 4print(f"独特投票者名单: {unique_voters}") # 独特投票者名单: {'David', 'Alice', 'Charlie', 'Bob'}
8,总结以上,Python集合是一个功能强大且高效的数据结构,特别适合需要:掌握集合的使用,能让你的代码更加简洁高效!下次遇到需要去重或快速查找的场景,记得试试集合这个神器哦!
👋欢迎大家在评论区留言讨论!点赞+转发支持我继续创作更多优质内容~📢 关注「散修程序员日志」公众号,获取最新的开发项目更新通知! 🚀