-
2020-04-08 08:24:08
不可变数据类型也就是说集合中的每一个元素,一旦放到集合中,这个元素就是不能被修改的
集合类型要求元素是独一无二的,不能存在相同的元素,但是如果其中的某一个元素是可以被改变的,它一旦改变之后可能会和其他的元素相同,这样子的话集合类型就会出现错误,所以集合类型要求,该元素不能是可变数据类型
不可变数据类型有哪些?
整数,浮点数,复数,字符串类型,元组类型等
列表类型是可以被修改的数据类型,这个类型一旦被放到集合中,这个集合就可能会出错更多相关内容 -
python集合中元素类型不可以是_python中集合可变吗
2021-01-30 05:44:34python集合分为两种类型:(推荐学习:Python视频教程)set —— 可变集合,集合中的元素可以动态的增加或删除。frozenset —— 不可变集合,集合中的元素不可改变。注:对于 并集, 交集, 差集 等的返回值,与最...集合是不同元素的无序集合。与序列类型不同(如列表,字符串等),集合是没有切片操作的。
python集合分为两种类型:(推荐学习:Python视频教程)
set —— 可变集合,集合中的元素可以动态的增加或删除。
frozenset —— 不可变集合,集合中的元素不可改变。
注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s & t 取交集。s集合是一个set类型的集合,t集合是一个frozenset类型的集合,则返回的结果将是set类型的集合。
rozenset()函数
描述:可以将其它的组合数据类型转化为不可变集合类型(或将可变的集合类型set转变为不可变的集合类型 frozenset),返回一个无重复元素且排序任意的不可变集合。
语法:frozenset() -> empty frozenset object 返回一个不可变空集合
frozenset(iterable) -> frozenset object 返回一个不可变新集合
iterable —— 要转换的组合数据类型。
程序示例:s1 = frozenset() #创建一个不可变的空集合。
l = [1.23,"a"] #列表类型
d = {1:"a",2:"b"} #字典类型
a = (1,2,"b") #元组类型
s = "厉害了,我的国" #字符串
c = set("1,2,3a") #可变集合
#将列表,字典,元组,字符串 可变集合 转化为不可变集合
s2 = frozenset(s)
s3 = frozenset(l)
s4 = frozenset(d)
s5 = frozenset(a)
s6 = frozenset(c) #将可变集合转换为不可变集合s6
print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)
更多Python相关技术文章,请访问Python教程栏目进行学习!
-
详解Python集合数据类型
2020-11-21 02:34:58集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并、交、差运算。通过本篇的学习,可以达成如下目标。● 掌握集合数据类型● 在程序中使用集合数据类型在数学...本篇介绍Python集合数据类型。集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并、交、差运算。通过本篇的学习,可以达成如下目标。
● 掌握集合数据类型
● 在程序中使用集合数据类型
在数学概念中,集合是由一个或多个确定的元素构成的整体。具体来说是指具有某种特定性质、具体的或抽象的对象汇总成的集体,这些对象称为该集合的元素或成员。例如,在整数集合中,数值…、-1、0、1、2…是整数集合的元素。
在Python语言中,集合存储的元素无序且不能重复,因此可以做字典的键。集合有两种不同的类型,可变集合和不可变集合,可变集合可以添加或删除元素,但可变集合所存储的元素不能被哈希,因此不能用做字典的键;不可变集合不能添加或删除元素,但元素是可哈希的,可以做字典的键。
1、 集合的声明和赋值
集合必须用Python提供的工厂函数来声明,可变集合使用set函数,不可变集合使用frozenset函数。
例1:集合声明和赋值
例1输出结果如下图所示。
从上面的输出结果可以看出,集合会把传入的字符串拆分为单个字符作为集合的成员,当传入列表时,集合会把列表内的元素作为集合成员。从输出结果还可以看出,集合不允许有重复的元素,例中s1声明时传入了“Java”字符串,但集合成员只有{‘j’,’a’,’v’},重复的a被删除。
2、 集合的访问
集合存储的元素是无序且不重复的,因此不能像列表、元组一样通过索引访问集合存储的元素。对集合元素的访问可以使用成员操作符in或not in来判断某元素是否在集合中。
例2:用成员操作符访问集合元素
例2输出结果如下图所示。
可以使用for循环遍历集合的元素,在遍历过程中,元素的显示顺序可能和加入的元素顺序不一致。
例3:遍历集合
例3输出结果如下图所示。
3、 集合的更新
集合内置了add、update、remove方法用于集合元素的添加、更新及移除操作。另外也可以通过操作符“-=”从集合中删除子集合。集合更新操作只适用于通过set创建的可变集合。
add方法用于添加一个集合成员;remove方法用于删除一个集合成员;update用于从已存在的集合中添加一个或多个成员;操作符“-=”用于删除集合中的子集合。
例4:集合更新
例4输出结果如下图所示。
4、 集合的运算
Python语言的集合类型同数学集合类型一样,也有求集合的并集、交集、差集、对称差集运算。
集合的并集运算是把两个集合合并成一个新的集合,集合合并后重复的成员被删除。在Python语言中,使用符号‘|’或union函数可以执行集合的合并运算。
集合的交集运算是求两个集合的共有成员,两个集合执行交集运算后返回新的集合,该集合中的每个元素同时是两个集合中的成员。在Python语言中,使用符号‘&’或intersection函数可以执行集合的交集运算。
集合的差集运算是求A集合与B集合之间的差值,A集合与B集合执行差集运算后返回新的集合,该集合的元素,只属于集合A,而不属于集合B。在Python语言中,使用符号‘-’或difference函数可以执行集合的差集运算。
集合的对称差集运算是集合的异或运算,A集合与B集合执行对称差集运算后返回新的集合,该集合中的元素只能是属于A集合或B集合的成员,不能同时属于A和B集合。在Python语言中,使用符号‘^’或symmetric_difference函数可以执行集合的对称差集运算。
例5:集合运算
例5输出结果如下图所示。
5、 集合常用的内置方法
前面已介绍了一些有关集合操作的函数和内置方法。下面对一些常用的内置方法做个小结。
表格1 适用于所有集合的内置方法
表格 2 适用于可变集合的内置方法
6、 Python用于操作集合的函数
Python提供的set、frozenset、len函数可用于集合的声明、返回集合成员个数。
表格 3 Python用于操作集合的函数
课程小结
在Python语言中,集合存储的元素无序且不能重复。集合有两种不同的类型,可变集合和不可变集合,可变集合可以添加或删除元素;不可变集合不能被修改。集合必须用Python提供的工厂函数来声明,可变集合使用set函数,不可变集合使用frozenset函数。
集合不能像列表、元组一样通过索引访问集合存储的元素,对集合元素的访问只能使用成员操作符in或not in来判断某元素是否在集合中。集合内置了add、update、remove方法用于集合元素的添加、更新及移除操作。另外也可以通过操作符“-=”从集合中删除子集合。集合更新操作只适用于通过set创建的可变集合。
Python语言的集合类型同数学集合类型一样,也有求集合的并集、交集、差集、对称差集运算。
-
python 数据类型之集合
2020-11-26 00:02:57一、集合的定义:定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key。特性:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值二、集合的创建...一、集合的定义:
定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key。
特性:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
二、集合的创建:
{1,2,3,1}
或
定义可变集合set
>>> set_test=set('hello')
>>> set_test
{'l', 'o', 'e', 'h'}
改为不可变集合frozenset
>>> f_set_test=frozenset(set_test)
>>> f_set_test
frozenset({'l', 'e', 'h', 'o'})
三、关系运算:
in
not in
==
!=
<,<=
>,>=
|,|=:合集
&.&=:交集
-,-=:差集
^,^=:对称差分
python={'egon','yuehao','alex'}
linux={'oldboy','yuehao','gangdan'}print(python |linux)print(python &linux)print(python ^linux)print(python -linux)print('egon' inlinux)for i inpython:print(i)
x,*_=python={'egon','yuehao','alex'}print(x)
x={1,2,3,4,5,6}
y={2,3,4}print(x==y)print(x!=y)print(y<=x)print(x>y)
四、总结
1、数字,字符串,列表,元组,字典
按照存值个数:
一个:数字 ,字符串
多个:列表,字典
不可变:数字,元组,字符串
按照访问方式:
直接访问:数字
索引:字符串,列表,元组===》序列类型seq
映射 :字典
2、数据类型内置函数转换汇总 :
-
Python数据类型(3)—— 字典、集合
2020-12-04 11:38:58用来存放多个不同种类的值2、定义方式:在{ }内用逗号分隔开多个key:value的元素,其中value可以是任意数据类型,而key的功能通常是用来描述value的,所以key通常是字符串类型,但其实key必须是不可变的类型(如:... -
集合中元素的数据类型可以不同,但集合中不能嵌套列表、元组、集合、字典
2019-10-12 09:22:121、问题根源: text = {"a":{"aa":1,"b":2},"b":2,"c":3,"d":4,"e":5} list_dict = [{v:text[v]}...,如整数,浮点数,字符串,元组等(列表,字典,集合类型本身都是可变数据类型,不能做集合的元素出现) -
列表可以作为集合的元素。
2021-01-29 12:17:21【判断题】列表可以作为集合的元素。 (2.0分)【判断题】函数中必须包含return语句。 (3.5分)【单选题】以下哪条语句定义了一个Python字典( ) (3.0分)【判断题】函数是代码复用的一种方式。 (3.5分)【单选题】x = ... -
Python内置类型及常见问题
2020-12-03 18:14:24python的内置数据类型非常丰富,大致可以分为五类:None、数字类型、序列类型、映射类型和集合类型。下面我将分别对他们进行介绍,做个总结以备以后查看。下面的表列出了各个类别下的具体数据类型。*注:本文所讲的... -
Python中的set(集合)数据类型
2019-08-22 20:05:12Python中的set(集合)数据类型 Python中除了常见的Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)标准数据类型外,还存在一种set(集合)类型,可用于存储值。其有两个重要... -
Python列表中所有元素必须为相同类型的数据。
2021-01-14 04:08:25【判断题】定义Python函数时,如果函数中没有return语句,则默认返回空值None。 (3.5分)【判断题】函数中必须包含return语句。 (3.5分)【单选题】对于... (2.0分)【判断题】元组可以作为集合的元素。 (2.0分)【判断题... -
python集合是可变类型吗
2020-12-20 11:12:14python 集合的元素为什么不能是可变数据类型集合(set)是可以变的,它是一个无序不重复元素集 元组(touple)才是不可变的Python 中的可变类型对象和不可变类型是什么意思?Python3 中有六个标准的数据类型(内置数据类型... -
Python数据类型 - set 集合
2020-12-01 11:19:12set 集合在Python中,set是基本数据类型的一种集合类型。set 数组是一组key值,不包含重复元素。set 数组是可变的、无序的、有限的集合,其元素是唯一的、不可变的。set 数组没有(不支持)索引和切片操作。set有可变... -
为什么集合中不能放入基本数据类型?
2019-09-29 19:19:25集合中使用泛型,所以只能放如引用数据类型,不能放入基本数据类型 使用ava泛型应该注意如下几点: ①在定义一个泛型类时,在“<>”之间定义形式类型参数,例如:“class TestGen<K,V>”,其中“K”,... -
同一个数组中的所有数组元素的数据类型必须相同吗
2020-12-15 13:20:38展开全部这个问题,有部分人的答案是:“是的,必须相同”,就连...对于同一个数组,其所有元素的数据类型都是相同的。对此我有不同的理解,我的答案是:“不是”。原因:数组的概念:在程序设计中,为了处理方便,... -
【详解】JAVA集合只能存放引用类型的的数据,不能存放基本数据类型
2020-07-19 17:20:09集合是存储对象最常用的一种方式,也就是说,集合的从有到无都是因为对象,人们发现要保存多个对象很麻烦,于是便发明了集合,集合是依赖对象而生的,所以就对基本数据类型"不感兴趣"。但是,现在基本数据类型都有了... -
【Flutter】Dart 数据类型 List 集合类型 ( 定义集合 | 初始化 | 泛型用法 | 初始化后添加元素 | 集合生成...
2020-03-18 21:05:30I . 定义集合并初始化 II . 集合泛型用法 III . 集合添加元素 IV . 集合生成函数 V . 集合遍历 VI . 集合示例代码 -
列表可以作为集合的元素吗?集合可以作为列表的元素吗?元组可以作为集合的元素吗?字典可以作为集合的元素...
2020-06-02 00:12:161、列表可以作为集合的元素吗? 2、集合可以作为列表的元素吗? 3、元组可以作为集合的元素吗? 4、集合可以作为元组的元素吗? 5、字典可以作为集合的元素吗? 对于上面这五个问题,是不是不太懂呢?接下来我会一一... -
hive中的数据类型:基本数据类型,集合数据类型
2018-09-08 16:52:36Hive支持关系型数据库中的大多数基本数据类型,同时支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。 其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行... -
python基础3 ---python数据类型二
2020-12-16 02:25:11ython基础一、python数据类型 ------列表(list)1、定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素特性:可存放多个不同类型的值;可修改指定索引位置对应的值,可变;按照从左到右的顺序... -
Java集合不能存放基本数据类型
2019-09-29 19:31:22Java集合不能存放基本数据类型,只能存放对象的引用。 每个集合元素都是一个引用变量,实际内容都存放在堆内或方法区里面, 但是基本数据类型是在栈内存上分配空间的,栈上的数据随时会被收回。 如何解决? 可以... -
ArrayList集合存储基本数据类型
2019-06-10 16:51:52*如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类” * 基本类型 包装类 (引用类型,包装类都位于java.Lang包下) * byte Byte * short Short * long Long * int Integer 【特殊... -
Java集合不能存放基本数据类型,只存放对象的引用
2018-05-25 16:03:051. 集合存储对象Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。2. 基本类型数据... -
python中的四种集合数据类型(列表,元组,集合,字典)
2020-05-08 17:12:31python中的四种集合数据类型是: 列表(List):有序,可更改,可以有重复的成员 元组(tuple):有序,不可更改,可以有重复的成员 集合(set):无序,无索引,没有重复的成员。 字典 (Dictionary):无序,可... -
python集合能做什么
2021-03-05 20:41:12python集合的用途:1、可以运用集合去重,方法为将列表加入到集合中,然后进行遍历,...集合是一个可变容器集合内的数据对象都是唯一的(不能重复)集合是可迭代对象集合相当于是只有键没有值得字典(键就是集合中的... -
python可变数据类型和不可变数据类型
2019-01-06 23:44:46Python3可变数据类型与不可变数据类型 有很多人在刚开始接触 python 这个语言的时候,总是搞不清楚什么是 可变数据类型 什么是 不可变数据类型,今天就让我们通过这篇小文章来详细了解一下。 知识点目录: 1.... -
Python__组合数据类型
2020-11-21 02:31:05(无序,唯一,Python中要求放入集合中的数据类型是不可变的)。集合用大括号 {}表示,元素间用逗号分隔创建集合用{} 或者 set()集合操作符:S | T (并集) S - T (差集) S & T(交集) S ^ T (补集)判断子集关系:ST)... -
list集合不能添加基本数据类型的问题
2017-06-26 11:37:06list中不能直接add基本数据类型,只能add对象 错误: ArrayList list = new ArrayList(); 正确: ArrayLisr list = new ArrayList public List findHonorOptions() { ArrayListString> ... -
组合数据类型之集合类型(学习笔记)(Python)
2020-06-04 12:15:253、集合元素不可更改,不能是可变数据类型 4、集合用大括号 {} 表示,元素间用逗号分隔 5、建立集合类型用 {} 或 set() 6、建立空集合类型,必须使用set() 集合操作符 操作符及应用 描述 S I T 并,返回一个... -
Redis_集合(set)数据类型
2018-02-22 11:24:32集合成员是唯一的,这就意味着集合中不能出现重复的数据。一个集合中最多可以存储超过40亿个元素(223-1)。 集合(set)的存储用法 redis中集合是通过hash表来实现的,所以添加、删除、查找的复杂度都是O(1)。 ... -
python三种组合数据类型--集合类型、序列类型、字典类型
2019-04-20 14:55:12集合由不可变数据类型元素组成,如整数、浮点数、复数,字符串、元组类型等 集合用大括号{}组成,元素之间用逗号隔开 每个元素唯一,不存在相同元素 一、集合间操作 并(S|T) S-T S&T S^T 返回一个新...