Python认识集合运算:并集(.unio),交集(.intersection),差集(.difference)

在集合论中:

并集:是指将两个或多个集合中的所有元素组合在一起构成的新集合。如果一个元素属于其中至少一个原始集合,那么它就属于这些集合的并集。

例如,集合 A = {1, 2, 3},集合 B = {3, 4, 5},A 和 B 的并集就是 {1, 2, 3, 4, 5}。

交集:是指由同时属于两个或多个集合的元素所组成的集合。

例如,集合 A = {1, 2, 3},集合 B = {3, 4, 5},A 和 B 的交集就是 {3}。

差集:对于两个集合 A 和 B,A 与 B 的差集是由属于 A 但不属于 B 的所有元素组成的集合。

例如,集合 A = {1, 2, 3},集合 B = {3, 4, 5},A 减去 B 的差集是 {1, 2},B 减去 A 的差集是 {4, 5}。

以下是一些集合在 Python 中的应用实例:

1. 去除列表中的重复元素:

   ```python
   my_list = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
   my_set = set(my_list)
   unique_list = list(my_set)
   print(unique_list) 
   ```

2. 快速判断元素是否在集合中:

   ```python
   fruits = {"apple", "banana", "orange"}
   if "apple" in fruits:
       print("苹果在水果集合中")
   ```

3. 集合运算,如并集、交集、差集:

   ```python
   set1 = {1, 2, 3, 4, 5}
   set2 = {4, 5, 6, 7, 8}

   union_set = set1.union(set2)               #set1 和 set2 的并集
   intersection_set = set1.intersection(set2)  #set1 和 set2 的交集(重复的)
   difference_set = set1.difference(set2)       #set1 - set2 的差集(不同的)

   print("并集:", union_set)
   print("交集:", intersection_set)
   print("差集:", difference_set)
   ```

4. 集合推导式:

   ```python
   numbers = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
   unique_squares = {x ** 2 for x in numbers}
   print(unique_squares)
   ```

5. 多个集合的比较和操作:

   ```python
   setA = {1, 2, 3}
   setB = {2, 3, 4}
   setC = {3, 4, 5}

   # 找出三个集合的共同元素
   common_elements = setA.intersection(setB).intersection(setC)
   print(common_elements)
   ```
  • 天道酬勤

    与人方便,与己方便。

    Related Posts

    python练习3

    小M在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。小M还发现,有时候输入的数字字符串前面会有无用的 0,这些也需要精简掉。请你帮助小M编写程序,完成这个任务。 测试样例样例1: 输入:s = “1294512.12412”输出:’1,294,512.12412′ 样例2: 输入:s = “0000123456789.99”输出:’123,456,789.99′ 样例3: 输入:s = “987654321”输出:’987,654,321′ ②

    Python陪练2–二维数组

    小R正在计划一次从地点A到地点B的徒步旅行,总路程需要 N 天。为了在旅途中保持充足的能量,小R每天必须消耗1份食物。幸运的是,小R在路途中每天都会经过一个补给站,可以先购买完食物后再消耗今天的1份食物。然而,每个补给站的食物每份的价格可能不同,并且小R在购买完食物后最多只能同时携带 K 份食物。 现在,小R希望在保证每天食物消耗的前提下,以最小的花费完成这次徒步旅行。你能帮助小R计算出最低的花费是多少吗? **输入 ** n 总路程需要的天数k 小R最多能同时携带食物的份数data[i] 第i天补给站每份食物的价格**输出 ** 返回完成这次徒步旅行的最小花费**约束条件 ** 1 < n,k < 10001 < data[i] < 10000测试样例样例1: 输入:n = 5 ,k = 2…

    You Missed

    四大顶尖AI模型

    线上数字人体验地址

    DeepSeek在线使用平台汇总

    AI工具集

    分享目前最全AI工具合集

    python练习3