当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第三章:数据类型 > 3.3数据类型区别
数据类型的之间的区别呢
我们可以看
首先我们可以看可哈希的数据类型是什么呢
它是不可改变的数据结构
那么像字符串
元组
或者对象集
来看这两个变量
str1赋一个字符串
输出这个字符串的地址
当字符串进行修改了以后
我们可以看到他的地址输出发生了变化
那么也就说是str指针指向内存的地址发生了变化
也就是说
其实是他改变了以后把原来的这个字符串删除掉
又重建了一个字符串
也就说他的结构是不可改变的
即它是可哈希的数据类型
那么同理不可哈希的数据类型就是可改变的数据结构
比如像字典类型
列表类型或集合类型
下面我们看一下上面讲的这几种数据类型的区别表
是否可变
那指的我们的数据结构是否可变
字符串是不可变的
元组是不可变的
列表是可变的
字典是可变的
集合是可变的
那么是否可哈希呢
那不可变的数据结构就是可哈希的
可哈希的
而可变的数据结构是什么不可哈希的
所以列表字典集合是不可哈希的
对于索引值的话
字典是有索引值的
元组是有索引值的
列表也是有索引值的
字典呢
他的元素是由键值对组成的
总体是无索引的
集合也是无索引的
元素的唯一性
那么字符串是不唯一的
元组也是不唯一的
列表也不唯一
字典呢
是键事唯一的
值是可以不唯一的
集合呢他的元素都是唯一的
下面我们在jupyter里面看一些例子
我们看这段代码
首先给list赋一个值1,2,3
我们通过append这个函数呢
是可以向list表添加值的
那么append(5)可以输出以后
我们可以看的到他的结果是
原来的列表里面加了一个元素
那么也可以通过
extend函数来进行添加
extend是将可迭代对象的元素依次加入列表
那么加入7,8这样的一个可迭代的元素加入后的话
他的结果是这样子的
输出以后他的结果是这样子的
7,8加到后面
如果直接用append话呢
他会把我们加入的这个参数当成一个元素加入列表
那么输出的结果呢
我们可以看print以后呢
他把7和8当成一个列表的元素加进来的
然后还有一个函数常用的就是我们的reverse
就是列表的什么反转
我们输出
跟上一个列表的顺序正好是相反的
那么需要说明的是
我们可以看extend里面的他可以迭代的元素
添加迭代的元素可以是列表
可以是元组
也可以是字符串
我们来看这段代码
extend这是一个加入的列表
我们输出这个列表
我们可以看到4,5
如果加入的extend是一个什么呀
(4,5)是一个元组的时候我们输出的结果
可以看到输出的结果也是列表
加入的字符串呢
extend字符串以后呢
那他也是按照我们的可使用的迭代元素
把它一个一个放入列表中
下面我们看一下这个集合的操作
这是先我们定义了一个列表
那么通过set
将列表转换为集合赋值给s
那么打印出s我们可以看的到
它对应的什么集合
{1,2,3,}
通过add这个内置的函数呢
也可以给他添加元素
我们添加元素集合的元素是什么呀
我们刚才这个列表1,1,3,2,3转换成集合以后
它自动就去掉了重复的元素
我们看只有1,2,3
那么再加入这个元素的必须应该也是什么也会滤掉
如果是重复的话
那么4是不重复的
所以它的结果是输出以后他的结果是
4就加入什么呀
我们这个集合
同样我们在有一个update函数加入3,5,6
因为3是重复的
所以出来的结果应该也是什么呀
只有加了5,6
只有加了5,6
下面我们来看他可以有一个copy的这样的函数
那么把s.copy的地址其实还是个是一个浅赋值
给赋值给c
把s赋值给cc
打出他们
分别打出他们的结果
当然是什么一样的
那么同样都是这个集合1,2,3,4,5,6
那么他们是不是一个呢
那其实是地址肯定是不同的
所以我们可以通过print看他
print里面看它CC
是不是is c
判断他是ture还是false
我们运行一下
可以看到他是什么呀
他是false
同样的我们集合是可以求差求并集求交集的
我们给SS赋一个1,2,3,9这样的一个元素的集合
那么可以求他的通过
s.difference(ss)就是求S与SS的差集
那么S是我们刚才上面的是什么
1,2,3,4,5,6
是这个
那我们的他和我们这个1,2,3,9的差集应该是什么呀
那么就是去掉他相同的
那么剩下的话
不同的就是什么
4,5,6
s里面去掉ss里面的元素
那么ss里面元数1,2,3
我们同样可以求他们的什么交集
也可以求他们的并集
这跟我们集合里的概念是一样的
我们可以看到
求他的并集的时候
我们1,2,3,4,5,6并上1,2,3,9
那么多了一个9并在一起
那么求交集也是求他们共同的元素
共同的元素就是什么
1,2,3
好我们这章的关于数据类型的概述呢
就给大家介绍到这儿
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试