集合添加元素python_Python 集合(Set)
Python 集合(Set)
在本文中,您将学习关于Python集的所有内容;如何创建它们、添加或删除其中的元素,以及在Python中对集合执行的所有操作。
Python中的集合是什么?
集合是项目的无序集合。每个元素都是唯一的(没有重复项),并且必须是不可变的(不能更改)。
但是,集合本身是可变的。我们可以在其中添加或删除项目。
集合可用于执行数学集合运算,例如并集,交集,对称差等。
如何创建集合?
通过将所有项目(元素)放在大括号{}中并用逗号分隔或使用内置函数来创建集合set()。
它可以具有任意数量的项目,并且它们可以具有不同的类型(整数,浮点数,元组,字符串等)。但是集合不能具有可变元素(例如list,set或dictionary)作为其元素。
示例# 整数集
my_set = {1, 2, 3}
print(my_set)
# 混合数据类型集
my_set = {1.0, "Hello", (1, 2, 3)}
print(my_set)
也尝试以下示例。
示例# 无重复集合
# 输出: {1, 2, 3, 4}
my_set = {1,2,3,4,3,2}
print(my_set)
#set不能包含可变项
#这里[3,4]是可变列表
#如果您取消注释第12行,
#这将导致错误。
# TypeError: unhashable type: 'list'
#my_set = {1, 2, [3, 4]}
# 我们可以从列表中生成集合
# 输出: {1, 2, 3}
my_set = set([1,2,3,2])
print(my_set)
创建一个空集有点特殊。
空括号{}将在Python中创建一个空字典。为了建立一个没有任何元素的集合,我们使用没有任何参数的set()函数。
示例# 用{}初始化
a = {}
# 检查a的数据类型
# 输出:
print(type(a))
# 初始化使用 set()
a = set()
# 检查a的数据类型
# 输出:
print(type(a))
如何在Python中更改集合?
集是可变的。但是由于它们是无序的,因此索引没有意义。
我们无法使用索引或切片来访问或更改集合的元素。集不支持它。
我们可以使用add()方法添加单个元素,使用update()方法添加多个元素。update()方法可以采用元组,列表,字符串或其他集合作为其参数。在所有情况下,都避免重复。
示例# 初始化 my_set
my_set = {1,3}
print(my_set)
# 如果取消注释第9行,
# 你会得到一个错误
# TypeError: 'set' object does not support indexing
#my_set[0]
# 增加一个元素
# 输出: {1, 2, 3}
my_set.add(2)
print(my_set)
# 增加多个元素
# 输出: {1, 2, 3, 4}
my_set.update([2,3,4])
print(my_set)
# 增加 list 和set
# 输出: {1, 2, 3, 4, 5, 6, 8}
my_set.update([4,5], {1,6,8})
print(my_set)
运行该程序时,输出为:{1, 3}
{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6, 8}
如何从集合中删除元素?
可以使用discard()和remove()方法从集合中删除特定项目。
两者之间的唯一区别是,如果使用discard(),而项目不存在于集合中,则它保持不变。但是remove()在这种情况下会引发错误。
以下示例将说明这一点。
示例# 初始化 my_set
my_set = {1, 3, 4, 5, 6}
print(my_set)
# 抛弃一个元素
# 输出: {1, 3, 5, 6}
my_set.discard(4)
print(my_set)
# 移除已个元素
# 输出: {1, 3, 5}
my_set.remove(6)
print(my_set)
# 抛弃一个元素
# 没有出现在 my_set
# 输出: {1, 3, 5}
my_set.discard(2)
print(my_set)
# remove一个元素
# 没有出现在 my_set
# 如果没有注释#my_set.remove(2),
# 会抛出一个错误.
# Output: KeyError: 2
#my_set.remove(2)
同样,我们可以使用pop()方法删除并返回一个项目。
集合为无序,无法确定将弹出哪个项目。这是完全任意的。
我们还可以使用clear()方法删除集合中的所有项目。
示例# 初始化 my_set
# 输出: 唯一元素集
my_set = set("HelloWorld")
print(my_set)
# pop一个元素
# 输出: 随机元素
print(my_set.pop())
# pop 任意元素
# Output:随机元素
my_set.pop()
print(my_set)
# 清空 my_set
#输出: set()
my_set.clear()
print(my_set)
Python 集合操作
集合可用于执行数学集合运算,例如并集,交集,差和对称差。我们可以通过运算符或方法来实现。。
让我们考虑以下两组用于以下操作。>>> A = {1, 2, 3, 4, 5}
>>> B = {4, 5, 6, 7, 8}
集合并集
A和B的并集是来自这两个集合的所有元素的集合。
并集是使用|操作符执行的。也可以使用union()方法来完成。
示例# 初始化 A 和 B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}
# 使用 | 运算符
# 输出: {1, 2, 3, 4, 5, 6, 7, 8}
print(A | B)
在Python shell上尝试以下示例。# 使用union 函数
>>> A.union(B)
{1, 2, 3, 4, 5, 6, 7, 8}
# 在B上使用并集函数
>>> B.union(A)
{1, 2, 3, 4, 5, 6, 7, 8}
集合相交
A和B的交集是在这两个集合中共有的一组元素。
交点使用&运算符执行。使用intersection()方法可以完成相同的操作。
示例# 初始化 A 和 B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}
# 使用 & 运算符
# 输出 : {4, 5}
print(A & B)
在Python shell上尝试以下示例。# 在A上使用交集函数
>>> A.intersection(B)
{4, 5}
# 在B上使用交集函数
>>> B.intersection(A)
{4, 5}
集合差异
A和B的差(A-B)是仅在A中但不在B中的一组元素。类似地,B-A是B中但不在A中的一组元素。
差异是使用 -运算符执行的。使用difference()方法可以完成相同的操作。
示例# 初始化 A 和 B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}
# 在A上使用 - 运算符
# Output: {1, 2, 3}
print(A - B)
在Python shell上尝试以下示例。# 在A上使用差异函数
>>> A.difference(B)
{1, 2, 3}
# 在B上使用-运算符符
>>> B - A
{8, 6, 7}
# 在B上使用差异函数
>>> B.difference(A)
{8, 6, 7}
集合对称差异
A和B的对称差异是A和B中的一组元素,但两者中的元素相同。
对称差使用^运算符执行。使用symmetric_difference()方法可以完成相同的操作。
示例# 初始化 A 和 B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}
# 使用 ^ 运算符
# 输出: {1, 2, 3, 6, 7, 8}
print(A ^ B)
在Python shell上尝试以下示例。# 在A上使用symmetric_difference函数
>>> A.symmetric_difference(B)
{1, 2, 3, 6, 7, 8}
# 在B上使用symmetric_difference函数
>>> B.symmetric_difference(A)
{1, 2, 3, 6, 7, 8}
不同的Python集合方法
集合方法很多,上面已经使用了其中的一些方法。这是set对象可用的所有方法的列表。Python Set方法方法描述
将元素添加到集合中
从集合中删除所有元素
返回集合的副本
返回两个或多个集合的差作为新集合
如果元素是成员,则从集合中删除它。(如果元素不在集合中,则不执行任何操作)
返回两个集合的交集作为新集合
True如果两个集合的交点为空,则返回
返回 True另一个集合是否包含此集合
返回 True此集合是否包含另一个集合
删除并返回一个任意的set元素。提高KeyError,如果集合为空
从集合中删除一个元素。如果元素不是成员,则引发一个KeyError
返回新集合中集合的并集
用自身和其他元素的并集更新集合
其他集合操作
集合会员资格测试
我们可以使用in关键字来测试项目是否存在于集合中。
示例# 初始化 my_set
my_set = set("apple")
# 检查“a”是否存在
# 输出: True
print('a' in my_set)
# 检查“p”是否存在
# 输出: False
print('p' not in my_set)
遍历集合
使用for循环,我们可以遍历集合中的每个项目。>>> for letter in set("apple"):
... print(letter)
...
a
p
e
l
集合与内置函数
内置函数如all()、any()、enumerate()、len()、max()、min()、sort()、sum()等常用来与set一起执行不同的任务。带内置功能功能描述
如果集合的所有元素都为true(或者集合为空),则返回True。
如果集合中的任何元素为true,则返回True。 如果集合为空,则返回False。
返回一个枚举对象。它包含成对的所有项的索引和值。
返回集合中的长度(项目数)。
返回集合中最大的项目。
返回集合中最小的项目。
从集合中的元素返回一个新的排序列表(不对集合本身进行排序)。
返回集合中所有元素的总和。
Python Frozenset
Frozenset是具有集合特征的新类,但是一旦分配,就不能更改其元素。元组是不可变列表,而冻结集是不可变集。
可变的集合不可散列,因此不能用作字典键。另一方面,frozenset是可哈希化的,可用作字典的键。
此数据类型支持的方法,如copy(),difference(),intersection(),isdisjoint(),issubset(),issuperset(),symmetric_difference()和union()。由于不可变,因此没有添加或删除元素的方法。
示例# 初始化 A 和 B
A = frozenset([1, 2, 3, 4])
B = frozenset([3, 4, 5, 6])
在Python shell上尝试这些示例。>>> A.isdisjoint(B)
False
>>> A.difference(B)
frozenset({1, 2})
>>> A | B
frozenset({1, 2, 3, 4, 5, 6})
>>> A.add(3)
...
AttributeError: 'frozenset' object has no attribute 'add'
集合添加元素python_Python 集合(Set)相关推荐
- 集合添加元素python_Python 集合(set)添加元素-Python 集合(set) add-Python 集合(set) update-嗨客网...
Python集合(set)添加元素教程 add 方法将需要添加的元素当做一个整体,添加到集合中去,而 update 方法是把要传入的元素拆分,做为个体传入到集合中. add添加集合元素语法详解 语法 ...
- 集合添加元素python_Python基础:列表、字典、元组、集合、添加和删除元素,增删...
列表(有序) 添加 list.append(元素):在列表末尾添加新的元素 list.extend(seq):在列表末尾一次性追加另一个序列中的多个值 –seq可以是列表.元组.字典,若为字典,则仅会 ...
- 集合遍历python_Python 集合遍历
1.set集合 可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素 不可变集合(frozenset):与上面恰恰相反 Paste_Image.png 创建集合 ...
- 【Flutter】Dart 数据类型 List 集合类型 ( 定义集合 | 初始化 | 泛型用法 | 初始化后添加元素 | 集合生成函数 | 集合遍历 )
文章目录 I . 定义集合并初始化 II . 集合泛型用法 III . 集合添加元素 IV . 集合生成函数 V . 集合遍历 VI . 集合示例代码 I . 定义集合并初始化 定义并初始化 List ...
- Python 集合添加元素
Python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- 集合python_python集合访问的方法
python集合如何访问 python集合如何访问?由于set存储的是无序集合,所以我们没法通过索引来访问.访问 set中的某个元素实际上就是判断一个元素是否在set中. 例如,存储了班里同学名字的s ...
- java 集合 接口_Java集合之Collection接口
1 - Java集合介绍 /* 1. 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储. 2. 另一方面,使用Array存储对象方面具有一些弊 端,而 ...
- Java集合学习_Java集合学习(适合新手)
集合框架 由⼀组类和接⼝组成的⼀个体系. Collection 集合框架 最基本的接⼝,⼀个 Collection 可以存储⼀组⽆序.不唯⼀的对象,实际开发中不会直接使⽤ Collection 进⾏开 ...
- 【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )
文章目录 一. Dart 数据类型 Map 类型 二. Map 类型初始化并赋值 1. 创建 Map 对象同时进行初始化操作 2. 先创建 Map 对象再进行赋值 三. Map 集合遍历 1. 使用 ...
最新文章
- js indexof用法indexOf()定义和用法
- java中的dispose()方法
- .NET Core 3.0特性初探:C# 8、WPF、Windows Forms、EF Core
- 推荐特征筛选偷懒神器-M3USelector
- [JSP暑假实训] 三.MySQL数据库基本操作及Servlet网站连接显示数据库信息
- JS中URL编码解码
- 转 Python爬虫入门一之综述
- php 重复写入数据,完美解决Thinkphp3.2中插入相同数据的问题
- 201771010102 常惠琢《面向对象程序设计(java)》第八周学习总结
- win7如何安装mysql5.7_Win7下安装MySQL5.7备忘
- JMeter集合点功能的使用
- java实现socket连接,向指定主机指定端口发送socket数据,并获取响应数据
- VS2010的详细安装
- Navicat 注册机破解问题
- html语言隔开的代码,2、HTML(示例代码)
- 2年CFA三级考试连过的我,全靠笔记多!(无金融背景)
- 天猫整站(简易版)SSM(十四)需要登录才能使用的功能
- 两台计算机如何连接一个网络打印机共享,打印机怎么连接2台电脑?两台或多台电脑连接共享打印机操作方法...
- 1 12c语言,1.4.1 Oracle数据库12c中PL/SQL的新特性
- Spring Boot的优点