当前位置: 首页 > news >正文

python: union()函数用法

在 Python 中,union() 是集合(set)类型的内置方法,用于返回两个或多个集合的并集(即所有元素的合集,自动去重)。以下是它的用法详解:


1. 基本语法

python

复制

下载

set.union(*others)
# 或
set1 | set2 | set3 ... 
  • 参数others 可以是其他集合或任何可迭代对象(如列表、元组等)。

  • 返回值:返回一个新集合,包含所有参与合并的集合中的唯一元素。

  • 不修改原集合:原集合内容保持不变。


2. 基础用法示例

python

复制

下载

# 定义两个集合
set_a = {1, 2, 3}
set_b = {3, 4, 5}# 使用 union() 方法
result_union = set_a.union(set_b)
print(result_union)  # 输出: {1, 2, 3, 4, 5}# 使用 | 运算符
result_operator = set_a | set_b
print(result_operator)  # 输出: {1, 2, 3, 4, 5}

3. 合并多个集合

union() 支持一次合并多个集合或可迭代对象:

python

复制

下载

set_c = {5, 6, 7}
list_d = [7, 8, 9]# 合并多个集合和列表
combined = set_a.union(set_b, set_c, list_d)
print(combined)  # 输出: {1, 2, 3, 4, 5, 6, 7, 8, 9}

4. 与其他数据类型的交互

union() 可以接受非集合类型(如列表、元组、字符串等)作为参数:

合并列表、元组

python

复制

下载

set_num = {1, 2}
list_str = ["a", "b"]
tuple_mix = (2, "c")# 合并集合、列表、元组
result_mixed = set_num.union(list_str, tuple_mix)
print(result_mixed)  # 输出: {1, 2, 'a', 'c', 'b'}

合并字符串

「字符串」时可迭代类型,可以跟集合合并。

set1 = {1, 2, 3}new_set = set1.union('abc')print(new_set)

输出:

{1, 2, 3, 'a', 'c', 'b'}

合并字典

「字典」也是可迭代类型,可以跟集合合并;与其他类型不同的是,字典只合并键,不合并值。

set1 = {1, 2, 3}dict1 = {'key1': 1, 'key2': 2}new_set = set1.union(dict1)print(new_set)

输出:

{1, 2, 3, 'key1', 'key2'}

合并bytes类型

「bytes」也是可迭代类型,可以跟集合合并;但bytes是字节流,字符会转换后再合并。

set1 = {1, 2, 3}bytes1 = b'abc'new_set = set1.union(bytes1)print(new_set)

输出:

{1, 2, 3, 97, 98, 99}


5. 与 update() 的区别

  • union():返回新集合,不修改原集合

  • update():在原集合上直接添加元素,修改原集合

python

复制

下载

set_x = {1, 2}
set_y = {3, 4}# union() 示例
new_set = set_x.union(set_y)
print(set_x)  # 原集合不变,输出: {1, 2}
print(new_set)  # 输出: {1, 2, 3, 4}# update() 示例
set_x.update(set_y)
print(set_x)  # 原集合被修改,输出: {1, 2, 3, 4}

6. 常见问题

错误用法

python

复制

下载

# 错误:参数需为可迭代对象,不能是单个非集合元素
set_a.union(3)  # TypeError: 'int' object is not iterable# 正确:将数字放入可迭代对象中
set_a.union({3})
集合的无序性

集合的元素顺序是未定义的,输出时可能与添加顺序不同:

python

复制

下载

print({3, 1, 2} | {5, 4})  # 可能输出: {1, 2, 3, 4, 5}

7. 实际应用场景

  1. 数据去重:合并多个数据源并去除重复项。

  2. 标签系统:合并用户选择的多个标签集合。

  3. 数据库查询:模拟 SQL 中 UNION 操作。


总结

  • union() 是集合操作中高效的去重合并工具。

  • 支持合并多个集合或可迭代对象。

  • 若需保留元素顺序,需将结果转为列表后排序。

相关文章:

  • uniapp+vue3开发项目之引入vuex状态管理工具
  • 内存泄漏系列专题分析之十三:高通相机CamX内存泄漏内存占用分析--Camx pipeline的ION内存拆解方法
  • 从 Vue3 回望 Vue2:响应式的内核革命
  • 【bag of n-grams】 N-gram词袋模型 简介
  • 已情感分析入门学习大模型-初级篇
  • 进程与线程:09 进程同步与信号量
  • QLineEdit增加点击回显功能
  • Python 字典键 “三变一” 之谜
  • WebGIS 开发中的数据安全与隐私保护:急需掌握的要点
  • 带格式的可配置文案展示
  • 典籍指数问答模块回答格式修改
  • 深入浅出:C++数据处理类与计算机网络的巧妙类比
  • 嵌入式学习--江协51单片机day5
  • PostgreSQL 配置设置函数
  • SQL Server中delete table和truncate table删除全表数据哪个快?
  • 文件操作: File 类的用法和 InputStream, OutputStream 的用法
  • 基于SSM实现的健身房系统功能实现十六
  • 操作系统导论——第29章 基于锁的并发数据结构
  • 代理IP的核心原理:从请求转发到匿名性实现
  • 如何界定合法收集数据?
  • 动态h5网站开发/seo服务内容
  • eclipse网站开发流程图/北京网站建设优化
  • 燕郊个人网站建设/重庆网站seo搜索引擎优化
  • 温州苍南网站建设/广州高端网站建设公司
  • 做鞋子批发的网站有哪些/东营seo网站推广
  • 南山品牌网站建设企业/爱站网长尾关键词挖掘工具