中有几种数据类型?
(资料图)
(1)数字(其中包含整数int,浮点数float,复数a+bj,布尔True和Flase)
(2)字符串
(3)列表
(4)元组
(5)字典
(6)集合
2.这些数据类型的字面量(写下来的确定的值)如何表示?
(1)数字-整数如:-15,8,44等
数字-浮点数如:,-等
数字-复数:4+7j , -1+4j等(复数4+7j中4是实部,7是虚部)
数字-布尔:True和False 注:使用时首字母要大写
(2)字符串如:"hello world","你好","1+1=2"等 注:必须要有双引号括起来
(3)列表:[1 , - , 3+5j , "你好" ,True] ,用中括号[]括起来,每个元素间用逗号隔开,是一个有序数据集合,一个列表中可以存放不同数据类型的对象,可以存放所有六种数据类型对象,通过下标读取或修改元素值
(4)元组:(1 , - , 3+5j , "你好" ,True),用小括号()括起来,是一个有序数据集合,创建后元组中的元素不可修改,不可添加,不可删除,只能通过下标读取元素值,相当于一种只读的列表,可以存放所有六种数据类型对象
(5)字典:{"abc":10 , "你好":"hello" , "复数":4+7j},用大括号{}括起来,是一个无序数据集合,其中元素有两部分组成,即“键”和“值”,键用字符串表示,而值可以是所有六种数据类型的对象,通过键来读取元素值,我的理解是键相当于变量名
(6)集合:{1 , - , 3+5j , "你好" ,True , (1,2,3)},用大括号{}括起来,是一个无序数据集合,元素必须是固定不变的值,可以存放数字,字符串,元组的字面值,不能存放列表,字典,集合。
3.通过print()函数实操演示
5.为什么用print输出集合时,输出的元素的顺序和定义时的顺序不同?
列:
print({-1, , 4 + 8j, False, "你好", (1, 2, 3)})
输出:
{False, , (1, 2, 3), (4+8j), '你好', -1}
原因:Python中的集合是通过哈希(hash)表实现的,因此元素的排列顺序是根据它们在哈希表中的哈希值而定的。哈希值是根据元素的内容计算出来的一个数字,这个数字会被用来决定元素在哈希表中的位置。虽然哈希表可以提高元素查找的速度,但是这也意味着元素的顺序是不确定的,因为哈希表中元素的位置是由哈希值决定的,而不是插入的顺序。所以,输出集合时元素的顺序是不可预测的。
标签: