python集合类型 (Set Types)

简介: 【8月更文挑战第3天】

image.png
Python 中的集合(Set Types)是一种无序的、不包含重复元素的数据结构。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。Python 提供了两种标准的集合类型:set 和 frozenset。

  1. set
    set 是一个可变的数据类型,意味着你可以添加或删除集合中的元素。创建 set 的方式很简单,只需要将一组元素放在大括号 {} 中,或使用 set() 函数。注意,空的大括号 {} 用来创建空字典,而不是空集合;要创建空集合,必须使用 set()。

示例
python

使用大括号创建集合

my_set = {1, 2, 3, 4, 5}

使用 set() 函数创建集合

another_set = set([1, 2, 3, 4, 5])

空集合的创建

empty_set = set()

添加元素

my_set.add(6)

删除元素

my_set.remove(2) # 如果元素不存在,则抛出 KeyError

或者使用 discard 方法,如果不存在元素,则不抛出异常

my_set.discard(7)

集合的运算

union = my_set | another_set # 并集
intersection = my_set & another_set # 交集
difference = my_set - another_set # 差集
symmetric_difference = my_set ^ another_set # 对称差集

print(union)
print(intersection)
print(difference)
print(symmetric_difference)

  1. frozenset
    frozenset 是一个不可变的数据类型,意味着一旦创建,你就不能添加或删除元素。frozenset 主要用于需要不可变集合的场景,比如作为字典的键或集合的元素。

示例
python

创建一个 frozenset

my_frozenset = frozenset([1, 2, 3, 4, 5])

尝试修改 frozenset 会抛出 TypeError

my_frozenset.add(6) # 这会抛出 TypeError

frozenset 同样支持集合运算

another_frozenset = frozenset([4, 5, 6, 7, 8])
union = my_frozenset | another_frozenset
intersection = my_frozenset & another_frozenset

print(union)
print(intersection)
集合的特点
无序性:集合中的元素是无序的,即集合中的元素没有固定的顺序。
唯一性:集合中的元素是唯一的,即集合中不会出现重复的元素。
集合运算:支持多种集合运算,如并集、交集、差集和对称差集等。
集合类型在 Python 中非常有用,特别是在处理数学上的集合运算或需要快速检查元素是否存在于某个集合中时。

目录
打赏
0
9
9
1
445
分享
相关文章
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
48 21
[oeasy]python076_int这个词怎么来的_[词根溯源]整数类型_int_integer_touch
本文探讨了“int”一词的起源及其与整数类型的关联。通过词根溯源,揭示“int”来源于“integer”,意为“完整的数”,与零碎的分数相对。同时分析了相关词汇如“tact”(接触)、“touch”(触摸)及衍生词,如“tangential”(切线的)、“intagible”(无形的)和“integral”(完整的、不可或缺的)。文章还结合编程语言特性,解释了Python作为动态类型、强类型语言的特点,并总结了整型变量的概念与意义。最后预告了后续内容,提供了学习资源链接。
38 11
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
18 1
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
134 8
|
4月前
|
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
72 2
|
4月前
set集合
HashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素。 LinkedHashSet: LinkedHashSet 是 HashSet 的子类,并且其内部是通过 LinkedHashMap 来实现的。 TreeSet(有序,唯一): 红黑树(自平衡的排序二叉树)。
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
判断一个元素是否在 Java 中的 Set 集合中
【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。